[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20200092763A - 사용자 음성을 처리하는 전자장치 및 그 제어 방법 - Google Patents

사용자 음성을 처리하는 전자장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20200092763A
KR20200092763A KR1020190010101A KR20190010101A KR20200092763A KR 20200092763 A KR20200092763 A KR 20200092763A KR 1020190010101 A KR1020190010101 A KR 1020190010101A KR 20190010101 A KR20190010101 A KR 20190010101A KR 20200092763 A KR20200092763 A KR 20200092763A
Authority
KR
South Korea
Prior art keywords
user
information
electronic device
voice
server
Prior art date
Application number
KR1020190010101A
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 KR1020190010101A priority Critical patent/KR20200092763A/ko
Priority to PCT/KR2020/001030 priority patent/WO2020153720A1/ko
Publication of KR20200092763A publication Critical patent/KR20200092763A/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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1807Speech classification or search using natural language modelling using prosody or stress
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • 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/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals

Landscapes

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

Abstract

다양한 실시예들에 따르면, 전자장치에 있어서, 마이크, 회로를 포함하는 통신 모듈, 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 사용자 음성을 획득하도록 상기 마이크를 제어하고, 상기 획득된 사용자 음성을 서버로 전달하도록 상기 통신 모듈을 제어하고, 상기 서버로부터 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나 이상의 동작은 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보의 적어도 일부 및 상기 사용자 음성의 강조 정보(emphasis information)의 적어도 일부에 대응하고, 상기 수신된 커맨드를 기반으로 상기 적어도 하나 이상의 동작을 수행하도록 설정된, 전자장치가 제공된다. 그 밖의 다양한 실시예가 가능하다.

Description

사용자 음성을 처리하는 전자장치 및 그 제어 방법{ELECTRONIC DEVICE FOR PROCESSING USER SPEECH AND CONTROLLING METHOD THEREOF}
본 문서는 사용자 음성을 처리하는 전자장치 및 그 제어 방법 에 관한 것이다.
현대를 살아가는 많은 사람들에게 휴대용 디지털 통신기기들은 하나의 필수 요소가 되었다. 소비자들은 휴대용 디지털 통신기기들을 이용하여 언제 어디서나 자신이 원하는 다양한 고품질의 서비스를 제공받고 싶어한다.
음성인식 서비스는, 휴대용 디지털 통신기기들에 구현되는 음성인식 인터페이스를 기반으로, 수신되는 사용자 음성에 대응하여 다양한 컨텐츠 서비스를 소비자들에게 제공하는 서비스이다. 음성인식 서비스의 제공을 위해 휴대용 디지털 통시기기들에는 인간의 언어를 인식하고 분석하는 기술들(예: 자동 음성 인식, 자연어 이해, 자연어 생성, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성, 등)이 구현된다.
소비자들에게 질 높은 음성인식 서비스가 제공되기 위해서는, 사용자 음성으로부터 사용자 의도를 정확하게 확인하는 기술의 구현과 확인된 사용자 의도에 대응하는 적절한 컨텐츠 서비스를 제공하는 기술의 구현이 필요하다.
사용자 음성에 대응하여 다양한 컨텐츠 서비스를 제공하는 음성인식 서비스가 제공된다. 그러나, 사용자 음성에 포함된 사용자 음성의 강조 정보(예: 사용자 음성 중 사용자에 의해 의도적으로 강조된 적어도 일부)가 확인되지 않기 때문에, 사용자 음성의 강조 정보에 대응하여 사용자 의도에 부합하는 적절한 컨텐츠 서비스가 제공될 수 없었다. 이에 따라, 종래의 전자장치들에서는, 사용자 의도에 부합하는 적절한 컨텐츠 서비스를 제공받기 위한 사용자의 제어에 따라 더 많은 태스크가 수행되어, 전자장치의 운용 부담이 커지는 문제점이 있었다.
다양한 실시예에 따른 전자장치 및 그 제어 방법은 사용자 음성에 포함된 사용자 음성의 강조 정보를 확인하는 동작을 수행하고, 확인된 사용자 음성의 강조 정보에 대응하는 다양한 컨텐츠 서비스를 제공할 수 있다. 이에 따라, 사용자 의도에 부합하는 적절한 컨텐츠 서비스를 제공하기 위해 더 적은 태스크가 수행됨으로써 운용 부담이 경감되는 전자장치 및 그 제어 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 전자장치에 있어서, 마이크, 회로를 포함하는 통신 모듈, 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 사용자 음성을 획득하도록 상기 마이크를 제어하고, 상기 획득된 사용자 음성을 서버로 전달하도록 상기 통신 모듈을 제어하고, 상기 서버로부터 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나 이상의 동작은 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 중 적어도 일부 및 상기 사용자 음성의 강조 정보(emphasis information) 중 적어도 일부에 대응하고, 상기 수신된 커맨드를 기반으로 상기 적어도 하나 이상의 동작을 수행하도록 설정된, 전자장치가 제공될 수 있다.
다양한 실시예들에 따르면, 마이크, 회로를 포함하는 통신 모듈, 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 사용자 음성을 획득하도록 상기 마이크를 제어하고, 상기 획득된 사용자 음성을 서버로 전달하도록 상기 통신 모듈을 제어하고, 상기 서버로부터 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보는 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 중 적어도 일부 및 상기 사용자 음성의 강조 정보(emphasis information) 중 적어도 일부에 대응하고, 상기 수신된 답변에 대한 정보를 기반으로 지정된 방식으로 적어도 하나 이상의 텍스트를 출력하도록 설정된, 전자장치가 제공될 수 있다.
다양한 실시예들에 따르면, 인스트럭션들을 저장하는 메모리, 및 적어도 하나의 프로세서를 포함하고, 상기 인스트럭션들은, 실행 시에 상기 적어도 하나의 프로세서가 사용자 음성을 획득하고, 상기 사용자 음성에 대응하는 사용자 음성의 강조 정보를 확인하고, 상기 사용자 음성에 대응하는 사용자 음성의 의미 정보를 확인하고, 상기 확인된 사용자 음성의 강조 정보 및 상기 확인된 사용자 음성의 의미 정보를 기반으로, 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인하고, 상기 확인된 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 전달하도록 설정된, 전자장치가 제공될 수 있다.
다양한 실시예들에 따르면, 마이크, 회로를 포함하는 통신 모듈, 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 사용자 음성을 획득하도록 상기 마이크를 제어하고, 상기 획득된 사용자 음성을 서버로 전달하도록 상기 통신 모듈을 제어하고, 상기 서버로부터 순차적으로 수행되는 적어도 하나의 제 1 동작을 수행하기 위한 제 1 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나의 제 1 동작은, 상기 사용자 음성으로부터 강조 정보가 확인되지 않는 경우, 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보에 대응하고, 상기 서버로부터 순차적으로 수행되는 적어도 하나의 제 2 동작을 수행하기 위한 제 2 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하도록 설정되고, 상기 적어도 하나의 제 2 동작은, 상기 사용자 음성으로부터 강조 정보가 확인되는 경우, 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 및 상기 사용자 음성의 강조 정보에 대응하는, 전자장치가 제공될 수 있다.
다양한 실시예들에 따른, 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시예들에 따르면, 사용자 음성에 포함된 사용자 음성의 강조 정보를 확인하는 동작을 수행하고, 확인된 사용자 음성의 강조 정보에 대응하는 다양한 컨텐츠 서비스를 제공하는 전자장치 및 그의 제어 방법이 제공될 수 있다. 다양한 실시예들에 따르면, 사용자 의도에 부합하는 적절한 컨텐츠 서비스를 제공하기 위해 더 적은 태스크가 수행되어 운용 부담이 경감되는 전자장치 및 그 제어 방법이 제공될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자장치의 블럭도이다.
도 2는 다양한 실시예들에 따른 전자장치 및 서버를 설명하기 위한 도면이다.
도 3은 다양한 실시예들에 따른 사용자 입력(예: 사용자 음성)의 강조 정보에 기반한 전자장치의 동작의 일 예를 설명하기 위한 흐름도이다.
도 4는 다양한 실시예들에 따른 사용자 입력(예: 사용자 음성)의 강조 정보에 기반한 전자장치의 동작의 일 예를 설명하기 위한 도면이다.
도 5는 다양한 실시예들에 따른 전자장치의 동작의 다른 예를 설명하기 위한 흐름도이다.
도 6은 다양한 실시예들에 따른 전자장치의 동작의 다른 예를 설명하기 위한 도면이다.
도 7은 다양한 실시예들에 따른 전자장치 및 서버의 동작의 일 예를 설명하기 위한 흐름도이다.
도 8은 다양한 실시예들에 따른 전자장치의 동작의 또 다른 예를 설명하기 위한 도면이다.
도 9는 다양한 실시예들에 따른, 전자장치 및 서버의 동작의 일 예를 설명하기 위한 흐름도이다.
도 10은 다양한 실시예들에 따른, 전자장치 및 서버의 동작의 일 예를 설명하기 위한 도면이다.
도 11은 다양한 실시예들에 따른, 서버의 동작의 일 예를 설명하기 위한 도면이다.
도 12는 다양한 실시예들에 따른 서버의 사용자 음성의 강조 정보를 확인하는 동작의 일 예를 나타내는 도면이다.
도 13은 다양한 실시예들에 따른 전자장치의 일정 알람 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 흐름도이다.
도 14는 다양한 실시예들에 따른 전자장치의 일정 알람 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 도면이다.
도 15는 다양한 실시예들에 따른 전자장치의 상태 값을 설정하는 동작의 일 예를 설명하기 위한 흐름도이다.
도 16 a는 다양한 실시예들에 따른 전자장치의 상태 값을 설정하는 동작의 일 예를 설명하기 위한 도면이다.
도 16 b는 다양한 실시예들에 따른 전자장치의 상태 값을 설정하는 동작의 일 예를 설명하기 위한 도면이다.
도 17은 다양한 실시예들에 따른 따른 전자장치의 상태 값을 설정하는 동작의 다른 예를 설명하기 위한 도면이다.
도 18은 다양한 실시예들에 따른 전자장치의 복수 개의 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 흐름도이다.
도 19는 다양한 실시예들에 따른 전자장치의 복수 개의 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 도면이다.
도 20은 다양한 실시예들에 따른 전자장치, 서버 및 적어도 하나 이상의 외부 전자장치의 동작의 일 예를 나타내는 도면이다.
도 21은 다양한 실시예들에 따른 전자장치, 서버 및 적어도 하나 이상의 외부 전자장치의 일 예를 나타내는 도면이다.
도 22는 다양한 실시예들에 따른 전자장치의 전자장치에 저장된 정보를 출력하는 동작을 설명하기 위한 흐름도이다.
도 23은 다양한 실시예들에 따른 전자장치의 전자장치에 저장된 정보를 출력하는 동작을 설명하기 위한 도면이다.
도 24는 다양한 실시예들에 따른 전자장치의 동작의 다른 예를 설명하기 위한 흐름도이다.
도 25는 다양한 실시예들에 따른, 전자장치 및 서버의 동작의 다른 예를 설명하기 위한 흐름도이다.
도 26은 다양한 실시예들에 따른, 전자장치 및 서버의 동작의 다른 예를 설명하기 위한 도면이다.
도 27은 다양한 실시예들에 따른, 서버의 동작의 일 예를 설명하기 위한 도면이다.
도 28은 다양한 실시예들에 따른, 전자장치의 텍스트를 지정된 순서로 출력하는 동작을 설명하기 위한 흐름도이다.
도 29는 다양한 실시예들에 따른, 전자장치의 텍스트를 지정된 순서로 출력하는 동작을 설명하기 위한 도면이다.
도 30은 다양한 실시예들에 따른, 전자장치의 적어도 하나 이상의 동작을 수행하고, 텍스트를 출력하는 동작을 설명하기 위한 흐름도이다.
도 31은 다양한 실시예들에 따른, 전자장치의 적어도 하나 이상의 동작을 수행하고, 텍스트를 출력하는 동작을 설명하기 위한 도면이다.
도 32는 다양한 실시 예에 따른, 통합 지능화 시스템을 나타낸 도면이다.
도 33은 다양한 실시예들에 따른, 통합 지능화 시스템의 사용자 단말을 나타낸 블록도이다.
도 34는 다양한 실시예들에 따른, 통합 지능화 시스템의 지능형 서버를 나타낸 블록도이다.
도 35는 다양한 실시예들에 따른, 패스 플래너 모듈(path planner module)의 패스 룰(path rule)을 생성하는 방법을 나타낸 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자장치 또는 외부 전자장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자장치 또는 전자장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스, 게임 콘솔, 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자장치 또는 외부 전자장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), 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), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자장치 또는 적어도 하나 이상의 외부 전자장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자장치 또는 적어도 하나 이상의 외부 전자장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자장치 또는 적어도 하나 이상의 외부 전자장치를 사용하는 사람 또는 전자장치 또는 적어도 하나 이상의 외부 전자장치를 사용하는 장치(예: 인공지능 전자장치)를 지칭할 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자장치(101)는 서버(108)를 통하여 전자장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자장치(101)와 직접 또는 무선으로 연결된 외부 전자장치(예: 전자장치(102))(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자장치(101)이 외부 전자장치(예: 전자장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자장치(101)가 외부 전자장치(예: 전자장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자장치(101)와 외부 전자장치(예: 전자장치(102), 전자장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 하나 이상의 안테나들을 포함할 수 있고, 이로부터, 제 1 네트워크 198 또는 제 2 네트워크 199와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자장치 간에 송신되거나 수신될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자장치(101)와 외부의 전자장치(104)간에 송신 또는 수신될 수 있다. 전자장치(102, 104) 각각은 전자장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자장치(101)로 전달할 수 있다. 전자장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 일 예를 설명한다.
이하에서 설명되는 전자장치(101)의 동작은 프로세서(120)가 전자장치(101)의 적어도 하나의 구성을 이용하여 해당 동작을 수행하도록 제어되는 것으로 기재되어 있으나, 이에 국한되지 않을 수 있다. 예를 들어, 이하에서 설명되는 전자장치(101)의 동작을 유발하는 인스트럭션 또는 컴퓨터 코드가 메모리(130)에 저장되어 있을 수 있다. 저장된 인스트럭션 또는 컴퓨터 코드는 프로세서(120)가 전자장치(101)에 포함된 적어도 하나의 구성을 이용하여 해당 동작을 처리하도록 유발할 수 있다.
도 2는 다양한 실시예들에 따른 전자장치(101) 및 서버(201)를 설명하기 위한 도면이다.
다양한 실시예들에 따른, 전자장치(101)는 서버(201)와 통신망으로 연결되고, 통신망을 통해 수신된 사용자 입력(예: 사용자 음성)을 서버(201)로 전달하도록 통신 모듈(190)을 제어하고, 서버(201)로부터 사용자 음성의 분석 결과 정보를 수신하도록 통신 모듈(190)을 제어하고, 수신된 사용자 음성의 분석 결과 정보를 기반으로 음성 인식 서비스를 제공할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 전자장치(101)로부터 수신된 사용자 입력과 연관된 동작을 수행할 수 있다. 예를 들어, 서버(201)는 전자장치(101)로부터 수신된 사용자 입력을 적어도 하나 이상의 분석 방법에 기반하여 분석할 수 있다. 예를 들어, 서버(201)는 사용자 입력을 적어도 하나 이상의 분석 방법에 기반하여 분석한 것에 기반하여, 전자장치(101)에서 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인할 수 있다. 예를 들어, 서버(201)는 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 전자장치(101)로 전달하도록 통신 모듈(190)을 제어할 수 있다. 예를 들어, 서버(201)는 사용자 입력을 적어도 하나 이상의 분석 방법에 기반하여 분석한 것에 기반하여, 적어도 하나 이상의 텍스트에 관한 답변 정보를 확인할 수 있다. 예를 들어, 서버(201)는 적어도 하나 이상의 텍스트에 관한 답변 정보를 송신하도록 통신 모듈(190)을 제어할 수 있다. 서버(201)의 동작에 대해서는 구체적으로 후술한다.
다양한 실시예들에 따른 서버(201)에서 수행되는 적어도 하나 이상의 동작은 전자장치(101)에서 수행될 수 있다. 다시 말해, 전자장치(101)는 다양한 실시예들에 따른 서버(201)의 동작이 전자장치(101)에서 수행되는 스탠드 어론 타입(stand-alone type)의 전자장치(101)로 구현될 수 있다.
즉, 이하에서 설명되는 서버(201)에서 수행되는 적어도 하나 이상의 동작은 전자장치(101)에서 수행될 수도 있다.
도 3은 다양한 실시예들에 따른 사용자 입력(예: 사용자 음성)의 강조 정보에 기반한 전자장치의 동작의 일 예를 설명하기 위한 흐름도(300)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 3에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 3에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 3에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는 도 4를 참조하여 도 3에 대해서 설명한다.
도 4는 다양한 실시예들에 따른 사용자 입력(예: 사용자 음성)의 강조 정보에 기반한 전자장치의 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치는 사용자 입력(예: 사용자 음성)의 강조 정보가 존재하는지 여부에 따라, 적어도 하나 이상의 동작을 수행할 수 있다.
다양한 실시예들에 따르면, 전자장치는 301 동작에서 사용자 입력을 수신할 수 있다. 예를 들어, 전자장치는, 도 4에 도시된 바와 같이, 전자장치에 구비된 마이크를 활성화(예: 마이크 on)시켜, 활성화된 마이크를 이용하여 사용자로부터 음성 입력(예: "아침 일곱시 알람 설정"이라는 사용자의 음성)을 수신할 수 있다. 아울러 상기 기재에 국한되지 않고, 전자장치는 사용자로부터 텍스트 입력, 터치 입력 등을 수신할 수 있다.
다양한 실시예들에 따르면, 전자장치는 302 동작에서 사용자 입력의 강조 정보가 존재하는지 여부에 따라, 303 동작에서 사용자 입력의 의미 정보를 기반으로 적어도 하나의 제 1 동작을 수행하거나, 304 동작에서 사용자 입력의 의미 정보 및 사용자 입력의 강조 정보를 기반으로 적어도 하나의 제 2 동작을 수행할 수 있다. 예를 들어, 전자장치는 도 4를 참조하면 302 동작에서 "아침 일곱시 알람 설정"이라는 제 1 사용자 음성(401)을 획득하고, 303 동작에서 제 1 사용자 음성(401)의 의미 정보(예: "2018/xx/xx 오전 7시 알람 설정")에 대응하여 전자장치에 설치된 알람 기능과 관련된 어플리케이션을 실행하는 동작 및 실행된 어플리케이션을 이용하여 아침 일곱시에 알람이 제 1 횟수로 출력되도록 설정하는 동작을 수행할 수 있다. 또 예를 들어, 전자장치는 도 4를 참조하면 302 동작에서 사용자의 의도에 따라 사용자 음성에서 강조된 "알람 설정"이라는 사용자 음성을 포함하는 "아침 일곱시 알람 설정!"이라는 제 2 사용자 음성(402)을 획득할 수 있다. 예를 들어, "!"는 음성의 크기가 큰 것을 의미할 수 있다. 이에 국한되지 않고, "!"는 다양한 방식(예: 음성학적 강조, 언어학적 강조)으로 해당 음성이 강조된 것임을 의미할 수 있다. 전자 장치(101)는, 음성의 크기를 확인하여 강조 여부를 확인할 수 있으며, 이에 대하여서는 더욱 상세하게 후술하도록 한다. 303 동작에서 제 2 사용자 음성(402)의 의미 정보(예: "2018/xx/xx 오전 7시 알람 설정") 및 제 2 사용자 음성(402)의 강조 정보(예: 알람 설정!)에 대응하여 전자장치에 설치된 알람 기능과 관련된 어플리케이션을 실행하는 동작 및 실행된 어플리케이션을 이용하여 아침 일곱시에 알람이 제 1 횟수보다 많은 제 2 횟수로 출력되도록 설정하는 동작을 수행할 수 있다. 다시 말해, 두 개의 사용자 음성의 텍스트가 동일하다 하더라도, 전자장치는 사용자 입력에 강조 정보가 포함되는 경우, 사용자 입력에 강조 정보가 포함되지 않는 경우와 다른 적어도 하나 이상의 동작을 수행할 수 있다. 예를 들어 상술한 바와 같이, 전자장치는 사용자 입력(예: 제 1 사용자 음성(401))을 수신하는 경우, 강조 정보가 포함되지 않는 사용자 입력(예: 제 2 사용자 음성(402))을 수신하는 경우에 설정되는 알람 횟수보다 더 많은 알람 횟수를 설정하여, 사용자 입력에 대응하여 수행되는 전자장치의 적어도 하나 이상의 동작의 일부 동작을 강화하여 제공할 수 있다.
다양한 실시예들에 따르면, 사용자 입력의 의미 정보는 사용자 입력으로부터 확인되는 사용자의 의도를 지시하는 정보일 수 있다. 예를 들어, 사용자 음성이 "아침 일곱시 알람 설정"인 경우, 사용자의 의도는 "2018/xx/xx 오전 7시 알람 설정"이며, 사용자 음성의 의미 정보는 상기 사용자 의도를 지시하는 정보일 수 있다. 다양한 실시예들에 따르면, 사용자 입력의 의미 정보는 자연어 이해 방법에 따라, 사용자 입력에 대응하는 텍스트 데이터와 자연어 인식 데이터 베이스에 저장된 매칭 룰에 따라서 확인될 수 있다.
다양한 실시예들에 따르면, 사용자 입력의 강조 정보는 사용자의 의도에 따라 사용자 입력(예: 제 2 사용자 음성(402)) 중에서 다른 일부(예: 아침 일곱시)에 비하여 강조되는 적어도 일부(예: 알람 설정!)를 의미할 수 있다. 예를 들어, 사용자 입력이 음성 입력인 경우, 사용자 입력의 강조 정보는 사용자 의도에 따라 입력되는 사용자 음성 중 음성학적(예: 크기, 피치, 지속 시간 등) 또는 언어학적(예: 꼭, 빨리 등과 같은 수식어)으로 강조되는 일부를 의미할 수 있다. 예를 들어, 사용자 입력이 텍스트 입력인 경우, 사용자 입력의 강조 정보는 사용자 의도에 따라 입력되는 텍스트 중 언어학적으로 강조(예: 꼭, 빨리 등과 같은 수식어)되거나 또는 텍스트 서식(예: 하이라이트, 밑줄, 굵게 등)이 적용된 일부를 의미할 수 있다. 다양한 실시예들에 따르면, 사용자 입력의 강조 정보는 사용자 입력에 대한 적어도 하나 이상의 분석 방법에 기반하여 확인될 수 있다. 이에 대해서는 구체적으로 후술한다.
이하에서는, 설명의 편의를 위해 전자장치로 입력되는 사용자 입력이 음성 입력인 것으로 하여 설명하나, 다른 종류의 사용자 입력들(예: 텍스트 입력, 터치 입력 등)에도 다양한 실시예들에 대한 설명이 준용될 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 다른 예를 설명한다.
다양한 실시예들에 따르면, 전자장치(101)는 사용자 음성의 강조 정보에 대응하는 적어도 하나 이상의 동작을 수행할 수 있다. 이하에서는, 전자장치(101)의 사용자 음성의 강조 정보에 대응하는 적어도 하나 이상의 동작의 수행에 대해서 도 5 및 도 6을 참조하여 설명한다.
도 5는 다양한 실시예들에 따른 전자장치(101)의 동작의 다른 예를 설명하기 위한 흐름도(500)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 5에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 5에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 5에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 6을 참조하여 도 5에 대해서 설명한다.
도 6은 다양한 실시예들에 따른 전자장치(101)의 동작의 다른 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 501 동작에서 사용자 음성을 획득하도록 마이크를 제어할 수 있다. 예를 들어, 전자장치(101)는 도 5에 도시된 바와 같이 사용자에 의해 적어도 일부 음성(예: "알람 설정!")이 강조된 사용자 음성(예: "아침 일곱시 알람 설정!")을 수신하도록 마이크를 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 502 동작에서 획득된 사용자 음성을 서버(201)로 전달하도록 통신 모듈(190)을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 503 동작에서 서버(201)로부터 순차적으로 수행되는 적어도 하나 이상의 동작(602)을 수행하기 위한 커맨드를 수신하도록 통신 모듈(190)을 제어할 수 있다.
다양한 실시예들에 따르면, 도 6에 도시된 바와 같이 순차적으로 수행되는 적어도 하나 이상의 동작(602)(예: 제 1 동작(611)(예: 알람어플리케이션 실행), 제 2 동작(612)(예: 아침 일곱시 복수회 알람 설정))을 수행하기 위한 커맨드는 사용자 음성의 의미 정보(예: "2018/XX/XX", "오전 7시", "알람 설정") 및 사용자 음성의 강조 정보(예: "알람 설정!")에 기반하여 서버(201)에 의해 확인될 수 있다. 다양한 실시예들에 따르면, 도 6에 도시된 바와 같이 순차적으로 수행되는 적어도 하나 이상의 동작(602)의 적어도 일부(예: 제 2 동작(예: 아침 일곱시 복수회 알람 설정))에 대응하는 파라미터(예: 알람 설정 횟수)는 사용자 음성의 강조 정보(예: "알람 설정!")를 기반으로 확인될 수 있다. 구체적으로 도 6에 도시된 바와 같이 사용자 음성의 의미 정보 중 적어도 일부(예: "알람 설정")가 사용자 음성의 강조 정보(예: "알람 설정!")를 기반으로 확인되고, 사용자 음성의 의미 정보 중 적어도 일부에 포함된 파라미터(예: 알람 설정 횟수)가 사용자 음성의 강조 정보(예: "알람 설정!")를 기반으로 확인(예: 알람 설정 횟수를 복수회로 설정)될 수 있다. 이에 따라, 사용자 음성의 강조 정보를 기반으로 설정된 파라미터를 포함하는 사용자 음성의 의미 정보 중 적어도 일부에 기반하여 적어도 하나 이상의 동작(602)의 적어도 일부(예: 제 2 동작(예: 아침 일곱시 복수회 알람 설정))가 확인될 수 있다.
다양한 실시예들에 따르면, 사용자 음성의 의미 정보와 사용자 음성의 강조 정보는 별도의 분석 방법으로 확인되거나, 또는 함께 확인될 수 있는데 이에 대해서는 구체적으로 후술한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 504 동작에서 수신된 커맨드를 기반으로 적어도 하나 이상의 동작(602)을 수행할 수 있다. 예를 들면, 전자장치(101)는 도 6에 도시된 바와 같이 수신된 커맨드를 기반으로, 알람 어플리케이션을 실행하고, 실행된 알람 어플리케이션이 2018/XX/XX 오전 7시 전후로 복수 회의 알람을 제공하도록 설정하는 동작을 수행할 수 있다.
이하에서는 도 7 및 도 8을 참조하여 다양한 실시예들에 따른 501 동작 및 502 동작과 관련된 전자장치(101)의 동작의 일 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
도 7은 다양한 실시예들에 따른 전자장치(101) 및 서버(201)의 동작의 일 예를 설명하기 위한 흐름도(700)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 7에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 7에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 7에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는 도 8을 참조하여 도 7에 대해서 설명한다.
도 8은 다양한 실시예들에 따른 전자장치(101)의 동작의 또 다른 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)는 상술한 501 동작과 502 동작의 적어도 일부로 실행된 프로그램을 기반으로 사용자 음성을 서버(201)로 실시간으로 전달하도록 통신 모듈(190)을 제어하고, 501 동작 및 502 동작의 이후에 서버(201)로부터 수신된 사용자 음성에 대응하는 정보를 표시하도록 디스플레이를 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 701 동작에서 프로그램을 실행할 수 있다. 다양한 실시예들에 따르면 상기 프로그램은 지능형 에이전트와 연관된 어플리케이션(예: 음성 인식 어플리케이션)일 수 있다. 전자장치(101)는 사용자 입력(예: 전자장치(101)에 구비된 하드웨어 키를 통한 입력, 터치스크린을 통한 입력, 지정된 음성 입력)을 수신한 것에 응답하여, 지능형 에이전트와 연동된 어플리케이션을 실행할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 702 동작에서 사용자 음성을 획득하도록 마이크를 제어할 수 있다. 예를 들어, 전자장치(101)는 실행된 지능형 에이전트와 연동된 어플리케이션을 기반으로, 사용자 음성을 획득하고, 수신된 사용자 음성을 전처리(예: 적응 반향 제거(adaptive echo canceller AEC), 노이즈 억제(noise suppression NS), 종점 검출(end-point detection EPD), 또는 자동 이득 제어(automatic gain control AGC) 등)할 수 있다. 전자장치(101)는 도 8에 도시된 바와 같이 사용자 음성(801, 802, 803)(예: "아침", "일곱시", "알람 설정")을 순차적으로 수신할 수 있다. 도8에 도시된 순차적으로 수신되는 사용자 음성은 설명의 편의를 위한 일 예로서, 전자장치(101)는 도 7에 도시된 수신되는 사용자 음성의 단위보다 더 작은 단위(예: "ㅇ", "ㅏ", "ㅊ", "ㅣ", "ㅁ" 등)로 사용자 음성을 순차적으로 수신할 수 있다.
다양한 실시예들에 따르면, 도 8에 도시된 바와 같이 전자장치(101)(예: 적어도 하나의 프로세서(120))는 순차적으로 수신되는 사용자 음성(801, 802, 803)에 대응하여, 순차적으로 텍스트를 표시하도록 디스플레이를 제어할 수 있다. 이때, 순차적으로 표시되는 텍스트 중 사용자 음성의 강조 정보에 대응하는 일부는 강조되어 전자장치(101)의 디스플레이 상에 표시될 수 있다. 이하에서는, 703 동작 내지 708 동작을 참조하여, 전자장치(101)의 순차적으로 텍스트를 표시하도록 디스플레이를 제어하는 동작의 일 예에 대해서 설명한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 703 동작에서 순차적으로 수신되는 사용자 음성(811, 812, 813)을 서버(201)로 전달하도록 통신 모듈(190)을 제어할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 704 동작에서 순차적으로 수신된 사용자 음성을 분석하여 사용자 음성에 대응하는 텍스트를 확인할 수 있다. 예를 들어, 서버(201)는 자동 음성 인식(automatic speech recognition ASR) 기술을 기반으로, 순차적으로 수신되는 사용자 음성(801, 802, 803)을 분석하고, 순차적으로 수신되는 사용자 음성(801, 802, 803)에 대응하는 텍스트 정보를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 705 동작에서 사용자 음성의 강조 정보를 확인할 수 있다. 예를 들면, 서버(201)는 도 8에 도시된 바와 같이 순차적으로 수신되는 사용자 음성(801, 802, 803)으로부터, 사용자 음성의 강조 정보로서 "알람 설정!"을 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 706 동작에서 순차적으로 수신되는 사용자 음성(801, 802, 803)에 대응하여 확인되는 텍스트 중 사용자 음성의 강조 정보(예: "알람 설정!")에 대응하는 일부(예: 알람 설정)를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 707 동작에서 확인된 텍스트 중 사용자 음성의 강조 정보에 대응하는 일부를 강조할 수 있다. 예를 들어, 서버(201)는 확인된 텍스트 중 사용자 음성의 강조 정보에 대응하는 일부가 전자장치(101)에서 표시되는 경우, 하이라이트(예: 굵게, 밑줄, 다른 텍스트에 비하여 큰 크기 등)되어 표시되도록 텍스트 중 일부를 강조할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 708 동작에서 순차적으로 확인된 텍스트(예:"아침", "일곱시")에 관한 정보 및 확인된 제 1 텍스트(예: "알람 설정!")에 관한 정보를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 709 동작에서 순차적으로 수신되는 텍스트 정보를 표시(예: 811, 812, 813)하도록 디스플레이를 제어할 수 있다. 전자장치는(101)는 텍스트 중 일부가 강조되도록 표시(813)할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 710 동작에서 사용자 음성 획득을 종료할 수 있다. 예를 들어, 전자장치(101)는 지정된 시간 동안 마이크를 통해 사용자 음성이 수신되지 않는 경우, 사용자 음성 획득을 종료할 수 있다.
상술한 바와 같이 다양한 실시예들에 따르면 서버(201)에서 수행되는 동작이 전자장치(101)에서 수행될 수 있으므로, 상술한 서버(201)에서 수행되는 동작들은 전자장치(101)에서 수행되도록 구현될 수도 있다. 예를 들어, 전자장치(101)가 텍스트 데이터를 서버(201)로부터 수신하도록 통신 모듈(190)을 제어하고, 전자장치(101)에서 사용자의 강조 정보를 확인하고, 확인된 강조 정보에 대응하는 텍스트 데이터의 일부를 확인하고, 확인된 텍스트 데이터의 일부를 강조하여 표시하도록 디스플레이를 제어할 수도 있다.
이하에서는 도 9 내지 도 12를 참조하여 다양한 실시예들에 따른 403 동작에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
도 9는 다양한 실시예들에 따른, 전자장치(101) 및 서버(201)의 동작의 일 예를 설명하기 위한 흐름도(900)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 9에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 9에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 9에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는 도 10 내지 도 12를 참조하여 도 9에 대해서 설명한다.
도 10은 다양한 실시예들에 따른, 전자장치(101) 및 서버(201)의 동작의 일 예를 설명하기 위한 도면이다.
도 11은 다양한 실시예들에 따른, 서버(201)의 동작의 일 예를 설명하기 위한 도면이다.
도 12는 다양한 실시예들에 따른, 전자장치(101)의 답변을 출력하는 동작의 일예를 설명하기 위한 흐름도(1200)이다.
다양한 실시예들에 따르면, 서버(201)는 전자장치(101)로부터 수신된 사용자 음성을 적어도 하나 이상의 분석 방법을 기반으로 분석한 것에 기반하여 사용자 음성의 의미 정보(1104) 및 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인하고, 확인된 사용자 음성의 의미 정보(1104) 및 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 기반으로 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(1106)를 확인하고, 확인된 커맨드(1106)를 전자장치(101)로 전달하도록 통신모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 901 동작에서 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인할 수 있다. 이하에서, 도 10을 참조하여 901 동작에 대해서 설명한다.
다양한 실시예들에 따르면, 서버(201)는 1001 동작에서 도 11에 도시된 바와 같이 언어학적 분석 방법 또는 음성학적 분석 방법을 이용하여 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인할 수 있다.
다양한 실시예들에 따르면 강조 정보는 사용자 음성 중 지정된 음성학적인 조건을 만족하는 적어도 일부, 또는 지정된 언어학적인 조건을 만족하는 적어도 일부 중 적어도 하나를 포함할 수 있다. 지정된 음성학적인 조건은 지정된 볼륨의 크기, 지정된 피치의 높이, 또는 지정된 발암이 길이 중 적어도 하나를 포함할 수 있다. 지정된 언어학적인 조건은 지정된 단어로 확인되는 것, 또는 상기 사용자 음성 내에서 반복되는 단어로 확인되는 것 중 적어도 하나를 포함할 수 있다.
예를 들어, 서버(201)는 음성학적 분석 방법으로서, 사용자 음성의 볼륨, 사용자 음성의 피치, 또는 사용자 음성의 구간 별 지속 시간 중 적어도 하나를 확인하여, 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인할 수 있다. 일 예로, 서버(201)는 사용자 음성을 시구간 별로 분석하여 강조 정보(1103)(예: "알람 설정!")를 확인 수 있다. 서버(201)는 확인된 사용자 음성의 시구간 별 볼륨의 크기를 확인하고, 확인된 시구간 별 볼륨의 크기 중 지정된 크기 이상의 크기를 가지는 시구간을 확인하고, 확인된 시구간과 연관된 정보(예: 해당 시구간의 사용자 음성의 적어도 일부)를 강조 정보(1103)(예: "알람 설정!")로서 확인할 수 있다. 또 서버(201)는 서버(201)는 확인된 사용자 음성의 시구간 별 피치의 높이를 확인하고, 확인된 시구간 별 피치 중 지정된 피치의 높이 이상의 피치의 높이를 가지는 시구간을 확인하고, 확인된 시구간과 연관된 정보를 강조 정보(1103)(예: 해당 시구간의 사용자 음성의 적어도 일부)로서 확인할 수 있다. 또 서버(201)는 확인된 사용자 음성의 시구간 별 주파수별 세기를 확인하고, 확인된 시구간 별 주파수별 세기 중 FO 주파수의 세기가 높거나, 평균 피치의 지속시간(또는, 발음의 길이)이 긴 시구간을 확인하고, 강조 정보(1103)(예: "알람 설정!")로서 확인된 시구간과 연관된 정보를 확인할 수 있다. 여기서 FO 주파수는 사용자 음성에서 음성학적으로 분석되는 기본 주파수를 의미하며, 해당 F0 주파수는 사용자와 관련된 데이터를 기반으로 확인될 수 있다.
또 예를 들어, 서버(201)는 언어학적 분석 방법으로서, 사용자 음성에 포함된 강조 단어를 확인하여, 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인할 수 있다. 일 예로, 서버(201)는 강조 단어로서, 사용자 음성 내에서 반복적으로 사용되는 단어, 또는 지정된 단어예: 꼭, 빨리, 어떻게든 등과 같은 수식어), 최상급 표현 등의 언어학적으로 강조되는 단어를 확인할 수 있다. 또 서버(201)는 사용자에 관한 데이터(예: 사용자가 빈번하게 사용한 단어에 관한 데이터)를 기반으로 빈번도가 높은 단어인 것으로 확인되는 사용자 음성 내의 단어를 확인할 수도 있다.
상술한 서버(201)의 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인하기 위한 분석 방법은 서버(201)에 구비된 데이터 베이스에 저장될 수 있다.
다양한 실시예들에 따르면, 서버(201)는 1002 동작에서 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")와 연관된 값을 확인할 수 있다. 예를 들어, 서버(201)는 확인된 강조 정보(1103)(예: "알람 설정!")에 부여되는 웨이트 값을 확인하고, 확인된 웨이트 값이 지정된 값 이상인지 여부를 확인할 수 있다. 이때, 서버(201)는 사용자 데이터를 더 고려할 수 있다. 예를 들어, 서버(201)는 사용자 데이터를 참조하여, 전자장치(101)의 사용자의 음성 강조 습관(예: 음성의 볼륨의 크기, 음성의 피치의 높이, 음성의 주파수별 세기, 또는 빈번하게 사용하는 단어)과 관련된 사용자 데이터를 확인하고, 확인된 사용자 정보를 기반으로 확인된 강조 정보(1103)(예: "알람 설정!")에 대해서 웨이트 값을 부여할 수 있다. 예를 들어, 서버(201)는 확인된 사용자 정보를 기반으로, 상대적으로 강조의 정도가 높은 것으로 확인(예: 사용자 음성에서 확인된 강조 단어의 빈번도가 사용자 데이터에 따라 확인된 다른 강조 단어의 빈번도에 비해서 상대적으로 높은 것으로 확인됨)되는 강조 정보(1103)(예: "알람 설정!")에는 상대적으로 높은 웨이트 값을 부여할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 1003 동작에서 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")와 연관된 값(예: 웨이트 값)이 지정된 값 이상인지 여부를 확인할 수 있다. 서버(201)는 사용자 음성의 강조 정보(1103)와 연관된 값이 지정된 값 이상인 것으로 확인되는 경우, 계속하여 902 동작을 수행할 수 있다. 이에 따라, 지정된 값을 기반으로 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(1106)를 확인하는 데에 불필요한 강조 정보(1103)(예: "알람 설정!")가 필터링될 수 있다.
다양한 실시예들에 따르면, 서버(201)는 1004 동작에서 확인된 사용자 음성의 의미 정보(1104)를 확인하고, 1005 동작에서 확인된 사용자 음성의 의미 정보(1104)만을 기반으로 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(1106)를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 902 동작에서 사용자 음성(1101)의 의미 정보(1104)를 확인할 수 있다. 서버(201)는, 도 11에 도시된 바와 같이, 수신된 사용자 음성(1102)(예: 아침 일곱시 알람 설정)에 대응하여, 자연어 이해 방식을 이용하여 사용자 음성의 의미 정보(1104)를 확인할 수 있다. 구체적으로, 서버(201)는 문법적 분석(syntactic analysis) 또는 의미적 분석(semantic analysis)을 기반으로, 사용자 음성(1102)에 대응하는 사용자 음성의 의미 정보(1104)를 확인할 수 있다. 예를 들어, 서버(201)는 자동 음성 인식을 기반으로 확인된 사용자 음성에 대응하는 텍스트를 지정된 단위(예: 단어, 구, 형태소 등)의 텍스트로 분할하고, 지정된 단위로 분할된 텍스트를 문법적으로 분석할 수 있다. 또 예를 들어, 서버(201)는 의미 매칭, 룰 매칭, 또는 포뮬러 매칭 등을 이용하여 사용자 음성에 대응하는 사용자 음성의 의미 정보(1104)를 의미적으로 분석할 수 있다. 이에 따라 서버(201)는, 도 11에 도시된 바와 같이 적어도 하나 이상의 데이터(1111, 1112, 1113)(예: "2018/xx/xx", "오전 7시", "알람 설정")를 포함하는 사용자 음성의 의미 정보(1104)를 확인할 수 있다. 상기 적어도 하나 이상의 데이터(1111, 1112, 1113)의 각각은 파라미터(1121, 1122, 1123, 1124)를 포함할 수 있다. 예를 들어, 도 11에 도시된 바와 같이 "알람 설정"이라는 사용자 음성에 포함된 일부 데이터는, "알람 설정"과 연관된 "벨소리 종류", "알람 설정 횟수", 및 "알람 지속 시간", "알람 제목" 등과 같은 적어도 하나 이상의 파라미터(1121, 1122, 1123, 1124)를 포함할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 903 동작에서 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")에 대응하는 사용자 음성의 의미 정보(1104)의 적어도 일부를 확인할 수 있다. 예를 들어, 서버(201)는 도 11에 도시된 바와 같이, 사용자 음성의 의미 정보(1104)에 포함된 적어도 하나 이상의 데이터(1111, 1112, 1113) 중에서 사용자 음성의 강조 정보(1103)(예: "알람 설정!")(예: 알람설정!)에 대응하는 적어도 하나의 데이터(예: "알람 설정")를 확인할 수 있다. 서버(201)는, 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")의 시점 정보를 확인하고, 확인된 시점 정보를 기반으로 강조 정보(1103)(예: "알람 설정!")에 대응하는 사용자 음성의 의미 정보(1104) 중 적어도 일부를 확인할 수 있다. 상기 시점 정보는 상기 사용자 음성의 강조 정보(1103)에 대응하는 사용자 발화 중 시점을 나타내는 정보일 수 있다. 예를 들어, 서버(201)는 확인된 강조 정보(1103)(예: "알람 설정!")에 대응하는 시점 정보를 기반으로 사용자의 발화 중 강조 정보(1103)에 대응하는 사용자 음성 중 적어도 일부(예: "알람 설정!")가 출력된 시점을 확인하고, 확인된 시점에 대응하는 사용자 음성의 의미 정보(1104) 중 적어도 일부(예: "알람 설정")를 확인할 수 있다. 또 서버(201)는 확인된 사용자 음성의 종류 정보를 확인하고, 확인된 종류 정보를 기반으로 강조 정보(1103)(예: "알람 설정!")에 대응하는 사용자 음성의 의미 정보(1104) 중 적어도 일부를 확인할 수 있다. 상기 종류 정보는 상기 지정된 음성학적인 조건을 만족하는 제 1 강조 정보(또는 음성학적인 분석 방법을 기반으로 확인된 제1 강조 정보) 또는 상기 지정된 언어학적인 조건을 만족하는 제 2 강조 정보(또는 언어학적인 분석 방법을 기반으로 확인된 제2 강조 정보)를 포함할 수 있다. 예를 들어, 서버(201)는 확인된 강조 정보(1103)(예: "알람 설정!")의 종류에 따라 강조 정보(예: 강조 단어(예: 수식어))에 의해 수식되는 사용자 음성의 일부를 확인하고, 사용자 음성의 일부에 대응하는 사용자 음성의 의미 정보 중 적어도 일부를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 904 동작에서 사용자 음성의 강조 정보(1103)(예: "알람 설정!")의 활용 가능 여부를 확인할 수 있다. 또, 서버(201)는 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")에 대응하는 사용자 음성의 의미 정보(1104)에 포함된 적어도 하나의 데이터에 포함된 파라미터(1121, 1122, 1123, 1124)가 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 기반으로 설정 가능한지 여부를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성의 강조 정보(1103)(예: "알람 설정!")가 활용 가능한 것으로 확인된 경우, 905 동작에서 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 기반으로 사용자 음성의 의미 정보(1104)의 적어도 일부에 포함된 파라미터(1121, 1122, 1123, 1124)를 확인할 수 있다. 예를 들어, 서버(201)는 사용자 음성의 의미 정보(1104)의 적어도 일부에 포함된 적어도 하나 이상의 파라미터(1121, 1122, 1123, 1124) 중에서 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 기반으로 값을 설정할 적어도 하나 이상의 제 1 파라미터(1122, 1123)를 확인할 수 있다. 예를 들어, 서버(201)는 사용자 음성의 강조 정보(1103)(예: "알람 설정!")에 대응하는 것으로 확인된 사용자 음성의 의미 정보(1104)와 관련된 적절한 기능 강화 방식을 사용자 데이터를 기반으로 확인하고, 확인된 기능 강화 방식을 기반으로 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")에 포함된 적어도 하나 이상의 파라미터(1121, 1122, 1123, 1124) 중에서 적어도 하나 이상의 제 1 파라미터(1122, 1123)를 확인할 수 있다. 서버(201)는, 확인된 적어도 하나 이상의 제 1 파라미터(1122, 1123)의 값을 지정된 값으로 설정할 수 있다. 상기 지정된 값은 강조 정보(1103)(예: "알람 설정!")를 기반으로 파라미터(1122, 1123)의 값이 설정되는 것으로 미리 결정된 값일 수 있고, 이에 국한되지 않고 강조 정보(1103)(예: "알람 설정!")와 연관된 값(예: 웨이트 값)을 기반으로 결정되는 값일 수 있다.
다양한 실시예들에 따르면, 서버(201)는 906 동작에서 설정된 파라미터(1122, 1123)를 포함하는 적어도 일부(1113)와 다른 일부를 포함하는 사용자 음성의 의미 정보(1104)를 기반으로 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(1106)를 확인할 수 있다. 예를 들어, 서버(201)는 도 11에 도시된 바와 같이, 사용자 음성의 의미 정보(1104)에 대응하여 알람 어플리케이션을 실행하는 동작(제 1 동작) 및 실행된 알람 어플리케이션이 오전 7시 전후로 복수회의 알람을 지정된 알람 크기로 제공하도록 설정하는 동작(제 2 동작)을 수행하기 위한 커맨드(1106)를 확인할 수 있다. 이때, 커맨드(1106) 중 적어도 일부에 대응하는 파라미터(1122, 1123)(예: 복수회의 알람, 지정된 알람 크기) 상술한 바와 같이 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 기반으로 확인된 것이다.
다양한 실시예들에 따르면 커맨드(1106)는 패스 룰 셋일 수 있다. 패스룰 셋은 실행될 앱, 상기 앱에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터에 대한 정보를 포함할 수 있다. 서버(201)는, 전자장치(101)의 정보를 이용하여 전자장치(101)에서 실행될 앱 및 상기 앱에서 실행될 동작을 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 적어도 하나 이상의 패스 룰을 확인할 수 있다. 서버(201)는, 생성된 적어도 하나 이상의 패스 룰 중 최적의 패스 룰 셋을 선택할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성의 강조 정보(1103)(예: "알람 설정!")가 활용 불가능한 것으로 확인된 경우, 907 동작에서 확인된 사용자 음성 정보를 기반으로 커맨드(1106)를 확인할 수 있다. 다시 말해, 서버(201)는 강조 정보(1103)(예: "알람 설정!")가 반영되지 않은 일반적인 태스크를 수행하기 위한 커맨드(1106)를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 908 동작에서 확인된 커맨드(1106)를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)는 909 동작에서 수신된 커맨드(1106)를 기반으로 적어도 하나 이상의 동작을 수행할 수 있다. 예를 들어, 전자장치(101)는 도 10에 도시된 바와 같이 커맨드(1106)를 기반으로, 어플리케이션을 실행(예: 알람 어플리케이션을 실행)하고, 실행된 어플리케이션이 지정된 동작을 수행하도록 제어(예: 오전 7시 전후로 복수회의 알람을 지정된 알람 크기로 제공하도록 설정)할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 910 동작에서 수행된 적어도 하나 이상의 동작과 관련된 정보를 출력(예: 텍스트를 표시하도록 디스플레이를 제어 또는 오디오를 출력하도록 오디오 출력 장치를 제어)할 수 있다. 이하에서는, 도 12를 참조하여 전자장치(101)의 910 동작에 대해서 설명한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1201 동작에서 적어도 하나 이상의 동작을 수행한 이후, 결과 정보를 서버(201)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 서버(201)는, 1202 동작에서 수신된 결과 정보를 기반으로, 적어도 하나 이상의 동작과 관련된 텍스트 정보를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 1203 동작에서 확인된 사용자 음성의 강조 정보(1103)(예: "알람 설정!")에 대응하는 확인된 텍스트 정보 중 적어도 일부를 확인하고, 확인된 텍스트 정보 중 적어도 일부의 서식을 강조(예: 하이라이트, 밑줄, 굵게 등)할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 1204 동작에서 서식이 강조된 적어도 일부를 포함하는 텍스트 정보를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1205 동작에서 수신된 텍스트 정보를 기반으로, 도 11에 도시된 바와 같이 수신된 텍스트 정보에 대응하는 텍스트(1107)(예: "아침 일곱시 전후로 두번!! 알람 설정 했어요")를 표시하도록 디스플레이를 제어할 수 있다. 표시되는 텍스트의 적어도 일부(1108)(예: "일곱시 전후로 두번!!")가 강조될 수 있다.
이상에서는, 텍스트를 표시하는 동작은 오디오 출력 동작에 준용될 수 잇다. 상술한 동작에서 텍스트 정보 대신에 오디오 정보가 확인되고, 전자장치(101)는 확인된 오디오 정보를 출력하도록 오디오 출력 장치를 제어할 수 있다.
한편, 다양한 실시예들에 따르면 서버(201)는 별도의 언어학적 분석 방법 또는 음성학적 분석 방법의 수행 없이, 사용자 음성의 의미 정보(1104)를 확인하는 동작의 적어도 일부로 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인할 수 있다. 예를 들어, 서버(201)는 사용자 음성에 강조 단어가 포함된 경우, 별도의 분석 방법의 수행 없이, 사용자 음성의 의미 정보(1104)를 확인하는 동작의 적어도 일부로 사용자 음성의 강조 정보(1103)(예: "알람 설정!")를 확인할 수 있다. 구체적으로, 서버(201)는 사용자 음성(예: "아침 일곱시 꼭 알람 설정")에 대응하여 사용자 음성의 의미 정보(1104)(예: "2018/xx/xx", "오전 7시", "알람 설정", "꼭")를 확인하고, 미리 저장된 강조 단어에 관한 정보를 기반으로 확인된 사용자 음성의 의미 정보(1104) 중에서 강조 단어에 대응하는 적어도 하나의 데이터(예: "꼭")를 확인할 수 있다. 서버(201)는, 확인된 적어도 하나의 데이터(예: "꼭")에 대응하는 사용자 음성의 의미 정보(1104) 중 적어도 일부(예: "알람 설정")을 확인하고, 상술한 바와 같이 적어도 하나 이상의 동작을 수행하기 위한 커맨드(1106)를 확인할 수 있다. 이외에 중복되는 설명은 생략한다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 또 다른 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 사용자 음성의 강조 정보를 기반으로 지정된 횟수로 일정 알람이 제공되도록 일정 알람 어플리케이션을 제어할 수 있다. 이하에서는 해당 전자장치(101)의 동작에 대해서, 도 13 및 도 14를 참조하여 설명한다.
도 13은 다양한 실시예들에 따른 전자장치(101)의 일정 알람 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 흐름도(1300)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 13에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 13에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 13에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 14를 참조하여 도 13을 설명한다.
도 14는 다양한 실시예들에 따른 전자장치(101)의 일정 알람 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1301 동작에서 사용자 음성을 획득하도록 마이크를 제어하고, 1302 동작에서 제 1 사용자 음성을 서버(201)로 전달한 것에 응답하여, 서버(201)로부터 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다. 예를 들어, 전자장치(101)는 도 14 (b)에 도시된 바와 같이 "오후 5시까지 우체국에 소포 찾으러 가라고 꼭 리마인드 해줘."라는 사용자 음성(1402)을 획득할 수 있다. 전자장치(101)는 사용자 음성(1402)을 서버(201)로 전달하고, 서버(201)로부터 상기 사용자 음성(1402)에 포함된 강조 정보(예: 꼭!)에 대응하는 제 1 동작(예: 알람을 복수회 설정)을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성을 기반으로 사용자 음성의 강조 정보로서 강조 단어(예: 꼭!)를 확인하고, 사용자 음성의 의미 정보(예: "2018/XX/XX", "오후 5시", "일정 알람 설정")를 확인하고, 사용자 음성의 강조 정보에 대응하는 사용자 음성의 의미 정보 중 적어도 일부(예: "일정 알람 설정")를 확인할 수 있다. 서버(201)는 확인된 사용자 음성의 의미 정보 중 적어도 일부에 포함된 일정 알람 기간과 일정 알람 횟수와 관련된 파라미터를, 해당 파라미터와 대응하는 제 1 동작을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드에 의해 전자장치(101)에서 지정된 기간 동안 지정된 횟수 만큼 일정 알람이 수행되도록, 설정할 수 있다. 이에 따라, 서버(201)는 상기 파라미터가 설정된 적어도 일부를 포함하는 사용자 음성의 의미 정보를 기반으로, 적어도 하나 이상의 동작(예: "일정 알람 어플리케이션을 실행" "지정된 시간 구간 동안 지정된 횟수로 일정 알람을 수행")을 수행하기 위한 커맨드를 확인하고, 확인된 커맨드를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1303 동작에서 수신된 커맨드를 기반으로, 일정 알람 어플리케이션을 실행하고, 일정 알람 어플리케이션에 의해 지정된 시간 구간 동안 상기 사용자 음성에 포함된 제 1 정보에 대응하는 지정된 횟수로 일정 알람이 제공되도록 제어하는 동작을 수행할 수 있다. 상기 커맨드는 도 14 (a)에 도시된 바와 같이 사용자 음성(1401)에 강조 정보가 포함되지 않는 경우에 설정되는 일정 알람 설정 횟수와 비교하여, 지정된 기간 동안 더 많은 일정 알람이 제공되도록 일정 알람 어플리케이션의 일정 알람 횟수가 설정되도록 할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 도 14 (b)에 도시된 바와 같이 동작의 수행 결과를 텍스트로 표시(1403)할 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 또 다른 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 사용자 음성의 강조 정보를 기반으로 전자장치(101)의 상태 값(예: 오디오 볼륨)을 설정하는 동작을 수행하고, 지정된 기간 동안 수신되는 다른 사용자 음성을 기반으로 설정된 상태 값(예: 오디오 볼륨)을 조정할 수 있다.
다양한 실시예들에 따르면, 전자장치의 상태 값은 전자장치의 오디오 볼륨 값, 전자장치의 디스플레이의 밝기 값, 전자장치의 진동 설정 값 등을 포함하고, 아울러 상기 기재에 국한되지 않고 전자장치에서 설정될 수 있는 다양한 설정 값들을 모두 포함할 수 있다.
이하에서는, 도 15 및 도 16을 참조하여 해당 전자장치(101)의 동작에 대해서 설명한다. 한편, 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
도 15는 다양한 실시예들에 따른 전자장치(101)의 상태 값을 설정하는 동작의 일 예를 설명하기 위한 흐름도(1500)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 15에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 15에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 16을 참조하여 도 15에 대해서 설명한다.
도 16 a는 다양한 실시예들에 따른 전자장치(101)의 상태 값을 설정하는 동작의 일 예를 설명하기 위한 도면이다. 도 16 b는 다양한 실시예들에 따른 전자장치(101)의 상태 값을 설정하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1501 동작에서 제 1 사용자 음성(1601)을 획득하도록 마이크를 제어하고, 1502 동작에서 제 1 사용자 음성(1601)을 서버(201)로 전달한 것에 응답하여, 서버(201)로부터 적어도 하나 이상의 동작을 수행하기 위한 제 1 커맨드를 수신할 수 있다. 예를 들어, 전자장치(101)는 도 16 b에 도시된 바와 같이 "볼륨 크게!"라는 제 1 사용자 음성(1601)을 획득할 수 있다. 전자장치(101)는 제 1 사용자 음성(1601)을 서버(201)로 전달하고, 서버(201)로부터 상기 제 1 사용자 음성(1601)에 포함된 강조 정보(예: 크게!)에 대응하는 제 1 동작(예: "전자장치(101)의 오디오 출력 값을 5 단계 증가시킴")을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성을 기반으로 사용자 음성의 강조 정보(예: 크게!)를 확인하고, 사용자 음성의 의미 정보(예: "오디오 볼륨 크게 설정")를 확인하고, 사용자 음성의 강조 정보에 대응하는 사용자 음성의 의미 정보 중 적어도 일부(예: "오디오 출력 값 크게 설정")를 확인할 수 있다. 서버(201)는 확인된 사용자 음성의 의미 정보 중 적어도 일부에 포함된 상태 값의 크기와 관련된 파라미터를, 해당 파라미터와 대응하는 제 1 동작을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드에 의해 전자장치(101)의 상태값(예: 오디오 출력 값)이 제 1 상태값(예: Volume 5 up)으로 설정되도록, 지정된 값으로 설정할 수 있다. 이에 따라, 서버(201)는 파라미터가 설정된 적어도 일부를 포함하는 사용자 음성이 의미 정보를 기반으로 적어도 하나 이상의 동작(예: "전자장치(101)의 오디오 출력 값을 5 단계 증가시킴")을 수행하기 위한 커맨드를 확인하고, 확인된 커맨드를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1503 동작에서 도 16 b에 도시된 바와 같이 수신된 제 1 커맨드를 기반으로, 전자장치(101)의 상태 값(예: 오디오 출력 값)을 사용자 음성의 강조 정보에 대응하는 지정된 제 1 값으로 설정할 수 있다. 상기 커맨드는 도 16 a에 도시된 바와 같이 사용자 음성(1602)에 강조 정보가 포함되지 않는 경우에 설정되는 상태 값과 비교하여, 더 높은 상태 값인 제 1 값으로 전자장치(101)의 상태 값이 설정되도록 할 수 있다.
또, 다양한 실시예들에 따르면 전자장치(101)(예: 적어도 하나의 프로세서(120))는 도 16 b에 도시된 바와 같이 전자장치(101)의 상태 값을 사용자 음성의 강조 정보에 대응하는 지정된 제 1 값으로 설정하는 적어도 하나 이상의 동작을 수행한 이후, 적어도 하나 이상의 동작과 관련된 텍스트(예: 네 볼륨을 높였어요(Volume 5 up))를 표시할 수 있다. 전자장치(101)의 텍스트를 표시하는 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1504 동작에서 지정된 기간 동안 제 2 사용자 음성(1603)의 수신 여부를 확인하고, 지정된 기간 동안 제 2 사용자 음성(1603)을 획득하는 경우 1505 동작에서 획득된 제 2 사용자 음성(1603)을 서버(201)로 전달한 것에 응답하여 서버(201)로부터 제 2 커맨드를 수신할 수 있다. 예를 들어, 전자장치(101)는 제 1 사용자 음성(1601)에 대응하는 제 1 커맨드를 기반으로 적어도 하나 이상의 동작을 수행한 이후, 지정된 기간 동안 마이크를 활성화할 수 있다. 전자장치(101)는 지정된 기간 동안 활성화된 마이크를 통해 제 2 사용자 음성(1603)이 수신되는 경우, 해당 제 2 사용자 음성(1603)을 서버(201)로 전달할 수 있다. 서버(201)는 수신된 제 2 사용자 음성(1603)이 적어도 하나 이상의 동작 중 사용자 음성의 강조 정보에 대응하는 제 1 동작(예: 전자장치(101)의 오디오 출력 값을 5 단계 증가")에 대응하는 것을 확인한 것에 응답하여, 제 2 사용자 음성(1603)을 기반으로 제 1 동작과 다른 적어도 하나 이상의 제 2 동작(예: 전자장치(101)의 오디오 출력 값을 2 단계 증가")을 확인할 수 있다. 서버(201)는 확인된 적어도 하나 이상의 제 2 동작을 포함하는 제 2 커맨드를 전자장치(101)로 전달하도록 통신모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1506 동작에서 수신된 제 2 커맨드를 기반으로, 전자장치(101)의 상태 값(예: 오디오 출력 값)을 사용자 음성의 강조 정보에 대응하는 지정된 제 2 값으로 설정할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 사용자의 터치 입력을 기반으로 설정된 상태 값(예: 오디오 볼륨)을 조정할 수 있다. 이하에서, 도 17을 참조하여 전자장치(101)의 사용자의 터치 입력을 기반으로 설정된 상태 값(예: 오디오 볼륨)을 조정하는 동작에 대해서 설명한다.
도 17은 다양한 실시예들에 따른 따른 전자장치(101)의 상태 값을 설정하는 동작의 다른 예를 설명하기 위한 도면이다.
다양한 실시예들에 따른, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 도 17에 도시된 바와 같이 전자장치(101)에 의해 수행된 적어도 하나 이상의 동작과 관련된 텍스트를 표시하도록 터치 스크린 디스플레이를 제어하고, 표시된 텍스트 중 일부(1702)를 선택하기 위한 사용자 입력을 수신하도록 터치 스크린 디스플레이를 제어할 수 있다. 전자장치(101)는 수신된 사용자 입력에 응답하여, 복수 개의 상태 값(1703)(예: Volume 1 up, Volume 2 up, Volume 3 up, Volume 4 up, Volume 5 up)에 관련된 정보를 표시하도록 터치 스크린 디스플레이를 제어할 수 있다. 전자장치(101)는 표시된 복수 개의 상태값(1703) 중 적어도 하나를 선택하기 위한 사용자 입력을 수신하고, 선택된 복수 개의 상태값 중 적어도 하나를 기반으로 전자장치의 상태 값(예: 오디오 볼륨)을 재설정할 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 또 다른 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 전자장치(101)에 설치된 복수 개의 어플리케이션 중 사용자 음성의 강조 정보에 대응하는 복수 개의 제 1 어플리케이션을 실행하고, 실행된 제 1 복수 개의 어플리케이션이 적어도 하나 이상의 동작을 수행하도록 제어할 수 있다. 이하에서는, 도 18 및 도 19를 참조하여 해당 전자장치(101)의 동작에 대해서 설명한다. 한편, 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
도 18은 다양한 실시예들에 따른 전자장치(101)의 복수 개의 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 흐름도(1800)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 18에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 18에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 19를 참조하여 도 18에 대해서 설명한다.
도 19는 다양한 실시예들에 따른 전자장치(101)의 복수 개의 어플리케이션을 제어하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1801 동작에서 사용자 음성을 획득하도록 마이크를 제어하고, 1802 동작에서 사용자 음성을 서버(201)로 전달한 것에 응답하여, 서버(201)로부터 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다. 예를 들면, 전자장치(101)는 도 19 (b)에 도시된 바와 같이, "빅스비! 급해. 택시 좀 어떻게든 잡아줘."라는 사용자 음성(1902)을 획득하고 수신된 사용자 음성을 서버(201)로 전달하고, 서버(201)로부터 상기 사용자 음성에 포함된 강조 정보(예: "급해!", "어떻게든")에 대응하는 제 1 동작을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성을 기반으로 사용자 음성의 강조 정보(예: "급해", "어떻게든")를 확인하고, 사용자 음성의 의미 정보(예: "현재 장소 xx동 xx길", "택시 호출")를 확인하고, 사용자 음성의 강조 정보에 대응하는 사용자 음성의 의미 정보 중 적어도 일부(예: "택시 호출")를 확인할 수 있다. 서버(201)는 사용자 음성의 의미 정보 중 적어도 일부와 상기 사용자 음성의 강조 정보를 기반으로, 전자장치에 설치된 복수 개의 어플리케이션 중 복수 개의 제1 어플리케이션을 실행하도록 하는 제1 동작을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인할 수 있다. 서버(201)는 확인된 사용자 음성의 의미 정보 중 적어도 일부에 포함된 어플리케이션 실행과 관련된 파라미터를, 해당 파라미터와 대응하는 제 1 동작을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드에 의해 전자장치(101)에서 전자장치(101)에 설치된 복수 개의 어플리케이션 중 복수 개의 제1 어플리케이션(예: 복수 개의 교통 수단 호출 어플리케이션)이 실행되도록, 지정된 값으로 설정할 수 있다. 이에 따라, 서버(201)는 파라미터가 설정된 적어도 일부를 포함하는 사용자 음성이 의미 정보를 기반으로 적어도 하나 이상의 동작(예: "전자장치에 설치된 모든 교통 수단 호출 어플리케이션 실행", "교통 수단을 호출하도록 교통 수단 호출 어플리케이션을 제어")을 수행하기 위한 커맨드를 확인하고, 확인된 커맨드를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 1803 동작에서 수신된 커맨드를 기반으로, 전자장치에 설치된 복수 개의 어플리케이션을 실행하고, 1804 동작에서 실행된 복수의 어플리케이션들의 각각이 상기 수신된 명령어에 기반한 동작(예: xx동 xx길로 택시 호출)을 수행하도록 동작을 수행하도록 제어할 수 있다. 상기 커맨드는 도 19 (a)에 도시된 바와 같이 사용자 음성(1901)에 강조 정보가 포함되지 않는 경우에 실행되는 어플케이션의 수와 비교하여, 더 많은 복수의 어플리케이션들이 전자장치(101)에서 실행되도록 할 수 있다.
또, 다양한 실시예들에 따르면 전자장치(101)(예: 적어도 하나의 프로세서(120))는 도 19 (b)에 도시된 바와 같이 복수 개의 어플리케이션을 실행하여 제어하는 동작을 수행한 이후, 수행된 동작과 관련된 텍스트(1903)(예: "연계되어 있는 서비스 모두 연결, 네, 택시를 불렀어요")를 표시할 수 있다. 전자장치(101)의 텍스트를 표시하는 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자장치(101)(예: 적어도 하나의 프로세서(120))는 상술한 기재에 따른 적어도 하나 이상의 동작에 국한되지 않고, 다른 적어도 하나 이상의 동작(예: 복수 개의 장소 검색 어플리케이션을 실행하여 장소를 검색)을 수행할 수 있다. 중복되는 설명은 생략한다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 또 다른 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 사용자 음성의 강조 정보를 기반으로 적어도 하나 이상의 동작을 수행하기 위한 커맨드가 전자장치(101)와 연관된 적어도 하나의 외부 전자장치로 전달되고, 적어도 하나 이상의 동작이 전자장치(101)와 연관된 적어도 하나의 외부 전자장치에서 수행될 수 있다. 이하에서는 해당 동작에 대해서, 도 20 및 도 21을 참조하여 설명한다.
도 20은 다양한 실시예들에 따른 전자장치(101), 서버(201) 및 적어도 하나 이상의 외부 전자장치(2010)의 동작의 일 예를 나타내는 도면이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 20에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 20에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 21을 참조하여 도 20에 대해서 설명한다.
도 21은 다양한 실시예들에 따른 전자장치(101), 서버(201) 및 적어도 하나 이상의 외부 전자장치(2010)의 일 예를 나타내는 도면이다.
다양한 실시예들에 따르면, 전자장치(101)는 2001 동작에서 사용자 음성을 획득하도록 마이크를 제어하고, 2002 동작에서 사용자 음성을 서버(201)로 전달한 것에 응답하여, 서버(201)로부터 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다. 예를 들면, 전자장치(101)는 도 18에 도시된 바와 같이, "빅스비, 앞으로 날씨가 나쁠 때는 미세먼지 농도를 꼭 알려줘"라는 사용자 음성(2101)을 획득하고 수신된 사용자 음성을 서버(201)로 전달하고, 서버(201)로부터 상기 사용자 음성에 대응하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다.
다양한 실시예들에 따르면 서버(201)는 2003 동작에서 사용자 음성의 강조 정보 및 사용자 음성의 의미 정보를 확인하고, 2004 동작에서 사용자 음성의 의미 정보를 기반으로 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인할 수 있다. 예를 들어 서버(201)는, 사용자 음성(2101)을 기반으로 사용자 음성의 강조 정보로서 강조 단어(예: 꼭)를 확인하고, 사용자 음성의 의미 정보(예: "날씨 나쁨 확인", "미세 먼지 농도 확인 및 알림")를 확인하고, 사용자 음성의 의미 정보를 기반으로 적어도 하나 이상의 동작(예: "날씨 정보 확인", "확인된 날씨 정보로부터 날씨 나쁨 상태 확인", "날씨 나쁨 상태 확인되는 경우 미세 먼지 농도 확인 및 알림")을 포함하는 커맨드를 확인할 수 있다.
다양한 실시예들에 따르면 서버(201)는 2005 동작에서 커맨드를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다. 이에 대응하여, 전자장치는 2006 동작에서 커맨드를 기반으로 적어도 하나 이상의 동작을 수행할 수 있다.
다양한 실시예들에 따르면 서버(201)는 2007 동작에서 사용자 음성의 강조 정보를 확인한 것에 응답하여, 전자장치(101)와 연관된 적어도 하나 이상의 외부 전자장치(2010)를 확인할 수 있다. 달리 말해, 상기 사용자 음성의 강조 정보에 의해, 서버(201)의 외부 전자장치로의 커맨드를 송신하는 동작이 유발될 수 있다. 예를 들어, 서버(201)는 지정된 강조 정보(예: 꼭!)가 포함되는 것으로 확인되는 것에 응답하여, 전자장치(101)와 연관된 적어도 하나 이상의 외부 전자장치(2010)를 확인할 수 있다. 상기 지정된 강조 정보는, 데이터베이스에 미리 저장된(예: 언어학적/음성학적 강조 정보) 강조 정보 중에서 전자장치(101)와 연관된 적어도 하나 이상의 외부 전자장치(2010)의 확인을 유발하는 것으로 사용자, 전자장치(101), 또는 서버(201)에 의해 지정된 강조 정보일 수 있다.
다양한 실시예들에 따르면 서버(201)는 전자장치(101)와 동일한 통신 네트워크를 이용하는 적어도 하나 이상의 외부 전자장치(2010)를 확인할 수 있다. 상기 통신 네트워크는 AP(acceess point)를 이용하는 Wifi등의 무선 통신 네트워크, 블루투스, Wifi-direct 등의 D2D 통신 네트워크 등을 포함할 수 있으며, 상기 기재에 국한되지 않고 전자장치(101)가 이용할 수 있는 모든 통신 네트워크 방식을 포함할 수 있다. 예를 들어, 서버(201)는 전자장치(101)와 동일한 Wifi 통신 네트워크를 이용하는 적어도 하나 이상의 외부 전자장치(2010)를 확인할 수 있다.
다양한 실시예들에 따르면 서버(201)는 전자장치(101)가 서버(201)에 등록된 전자장치(101)인 경우, 전자장치(101)의 등록 정보를 확인하고, 확인된 등록정보와 연관된 적어도 하나 이상의 외부 전자장치(2010)를 확인할 수 있다. 예를 들어, 전자장치(101)의 사용자가 서버(201)에 가입하는 경우, 사용자는 전자장치(101)와 연관된 적어도 하나 이상의 외부 전자장치(2010)를 전자장치(101)와 함께 등록할 수 있다. 이에 따라, 전자장치(101)의 등록 정보는 전자장치(101)와 연관된 적어도 하나 이상의 외부 전자장치(2010)와 연관된 정보를 포함할 수 있다.
다양한 실시예들에 따르면 서버(201)는 2008 동작에서 커맨드를 확인된 적어도 하나 이상의 외부 전자장치(2010)(예: 제 1 외부 전자장치(2010))로 전달하도록 통신 모듈을 제어할 수 있다. 이에 대응하여, 적어도 하나 이상의 외부 전자장치(2010)(예: 제 1 외부 전자장치(2010))는 2009 동작에서 커맨드를 기반으로 적어도 하나 이상의 동작을 수행할 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 또 다른 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 사용자 음성의 강조 정보에 대응하는 전자장치(101)에 저장된 정보를 순차적으로 출력하고, 사용자의 음성 제어에 따라 저장된 정보의 출력을 중지하는 동작을 수행할 수 있다. 이하에서는 해당 동작에 대해서, 도 22및 도 23을 참조하여 설명한다.
도 22는 다양한 실시예들에 따른 전자장치(101)의 전자장치(101)에 저장된 정보를 출력하는 동작을 설명하기 위한 흐름도(2200)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 22에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 22에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 23을 참조하여 도 22에 대해서 설명한다.
도 23은 다양한 실시예들에 따른 전자장치(101)의 전자장치(101)에 저장된 정보를 출력하는 동작을 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2201 동작에서 사용자 음성을 획득하도록 마이크를 제어하고, 2202 동작에서 사용자 음성을 서버(201)로 전달한 것에 응답하여, 서버(201)로부터 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다. 예를 들면, 전자장치(101)는 도 23 (b)에 도시된 바와 같이, "빅스비 오늘 일정 다~~~ 알려줘"라는 사용자 음성(2302)을 획득하고 수신된 사용자 음성(2302)을 서버(201)로 전달하고, 서버(201)로부터 상기 사용자 음성(2302)에 포함된 강조 단어(예: 다~~~)에 대응하는 제 1 동작(예: 저장된 정보 순차 출력)을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 수신할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성을 기반으로 사용자 음성의 강조 정보(예: 다~~~~)를 확인하고, 사용자 음성의 의미 정보(예: "2018/xx/xx", "일정 정보 출력")를 확인하고, 사용자 음성의 강조 정보에 대응하는 사용자 음성의 의미 정보 중 적어도 일부(예: 일정 정보 출력)를 확인할 수 있다. 서버(201)는 확인된 사용자 음성의 의미 정보 중 적어도 일부에 포함된 어플리케이션 실행과 관련된 파라미터를, 해당 파라미터와 대응하는 제 1 동작을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드에 의해 저장된 일정 정보가 순차적으로 출력되도록, 지정된 값으로 설정할 수 있다. 이에 따라, 서버(201)는 파라미터가 설정된 적어도 일부를 포함하는 사용자 음성이 의미 정보를 기반으로 적어도 하나 이상의 동작(예: "2018/xx/xx와 연관된 일정 정보를 확인", "확인된 일정 정보를 순차적으로 출력")을 수행하기 위한 커맨드를 확인하고, 확인된 커맨드를 전자장치(101)로 전달하도록 통신 모듈을 제어할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2203 동작에서 수신된 커맨드를 기반으로, 수신된 커맨드를 기반으로, 전자장치에 저장된 사용자 음성에 대응하는 정보를 출력하는 동작(예: 2018/xx/xx의 일정 정보를 순차적으로 출력)을 수행하도록 제어할 수 있다. 상기 커맨드는 도 23 (a)에 도시된 바와 같이 사용자 음성(2301)에 강조 정보가 포함되지 않는 경우에 출력되는 정보의 수와 비교하여, 더 많은 정보가 순차적으로 전자장치(101)에서 출력(예: 해당 정보를 텍스트로 출력, 해당 정보를 오디오로 출력)되도록 할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2204 동작에서 사용자 음성(2302)에 대응하는 정보의 출력 중, 사용자 입력의 획득 여부를 확인할 수 있다. 예를 들어, 전자장치(101)는 사용자 음성에 대응하는 정보의 출력 중에 마이크를 활성화할 수 있다. 전자장치(101)는 활성화된 마이크를 통해 해당 오디오 출력을 중지시키기 위한 사용자 음성을 획득할 수 있다. 또는 전자장치는 오디오 출력을 중지시키기 위한 사용자 터치 입력을 수신하도록 터치스크린을 제어할 수 있다. 전자장치(101)는 사용자 입력의 획득을 확인한 것에 응답하여, 사용자 음성(2302)에 대응하는 정보의 출력을 중지할 수 있다. 또는, 전자장치(101)는 사용자 입력의 획득이 확인되지 않는 것에 응답하여, 사용자 음성에 대응하는 정보의 출력을 계속할 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 다른 예를 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 사용자 음성의 강조 정보에 대응하는 답변을 출력할 수 있다. 이하에서는, 전자장치(101)의 사용자 음성의 강조 정보에 대응하는 답변 출력 동작에 대해서 도 24를 참조하여 설명한다.
도 24는 다양한 실시예들에 따른 전자장치(101)의 동작의 다른 예를 설명하기 위한 흐름도(2400)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 24에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 24에 도시되는 전자장치(101)의 동작 보다 더 많은 동작들이 수행되거나, 또는 도 24에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2401 동작에서 사용자 음성을 획득하도록 마이크를 제어하고, 2402 동작에서 획득된 사용자 음성을 서버(201)로 전달하도록 통신 모듈을 제어할 수 있다. 2401 동작 및 2402 동작은, 상술한 501 동작 및 502 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2403 동작에서 서버(201)로부터 순차적으로 수행되는 적어도 하나 이상의 텍스트에 관한 답변 정보를 수신하도록 통신 모듈을 제어할 수 있다. 다양한 실시예들에 따르면, 적어도 하나 이상의 텍스트를 포함하는 답변 정보는 사용자 음성의 의미 정보 및 사용자 음성의 강조 정보에 기반하여 서버(201)에 의해 확인될 수 있다. 다양한 실시예들에 따르면, 적어도 하나 이상의 텍스트의 적어도 일부에 대응하는 파라미터는 사용자 음성의 강조 정보를 기반으로 확인될 수 있다. 이에 따라, 사용자 음성의 강조 정보를 기반으로 확인된 사용자 음성의 의미 정보 중 적어도 일부에 기반하여 적어도 하나 이상의 텍스트의 적어도 일부가 확인될 수 있다. 확인된 적어도 하나 이상의 텍스트의 적어도 일부는 전자장치(101)에서 출력 시 다른 일부에 비하여 강조될 수 있도록 설정될 수 있다. 2403 동작은, 상술한 503 동작과 같이 수행될 수 있으므로 그 외에 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2404 동작에서 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행할 수 있다. 예를 들면, 전자장치(101)는 수신된 답변 정보를 기반으로, 적어도 하나 이상의 텍스트의 적어도 일부를 강조하여 출력(예: 디스플레이를 통한 출력 또는 오디오를 통한 출력)할 수 있다. 다양한 실시예들에 따르면, 텍스트의 적어도 일부의 강조는 시각적인 방법으로 수행될 수 있다. 예를 들어, 텍스트의 적어도 일부가 음영되거나, 다른 일부에 비하여 더 큰 크기로 표시되거나, 또는 볼드체/밑줄 등의 서식 설정에 의해 강조될 수 있다. 또는, 텍스트가 오디오 장치를 통해 오디오로 출력되는 경우 청각적인 방법으로 강조 될 수 있다. 예를 들어, 텍스트의 적어도 일부가 오디오로 출력되는 경우 다른 일부에 비하여 더 큰 볼륨으로 출력되거나, 다른 종류의 오디오(예: 다른 음성)로 출력되거나, 지정된 오디오(예: back ground music BGM)와 함께 출력되는 등의 방식으로 강조될 수 있다.
그 외, 전자장치(101)의 답변 출력 동작에서, 순차적으로 수신되는 사용자의 음성에 대응하여 텍스트를 출력할 수 있는데, 이는 도 6에서 상술한 바와 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
이하에서는 도 25 내지 도 27을 참조하여 다양한 실시예들에 따른 2403 동작에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
도 25는 다양한 실시예들에 따른, 전자장치(101) 및 서버(201)의 동작의 다른 예를 설명하기 위한 흐름도(2500)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 25에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 25에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 25에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다.
이하에서는 도 26 및 27을 참조하여 도 25에 대해서 설명한다.
도 26은 다양한 실시예들에 따른, 전자장치(101) 및 서버(201)의 동작의 다른 예를 설명하기 위한 도면이다.
도 27은 다양한 실시예들에 따른, 서버(201)의 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 서버(201)는 2501 동작에서 사용자 음성의 강조 정보를 확인하고, 2502 동작에서 사용자 음성의 의미정보를 확인하고, 2503 동작에서 확인된 사용자 음성의 강조 정보에 대응하는 사용자 음성의 의미 정보의 적어도 일부를 확인하고, 2504 동작에서 강조 정보 활용 가능 여부를 확인할 수 있다. 예를 들어, 서버(201)는 도 26에 도시된 바와 같이, 전자장치(101)로부터 전달된 "한 시에서 두 시로 미팅 변경"과 같은 사용자 음성에 대응하여, 사용자 음성의 강조 정보(예: 두시 미팅)를 확인하고, 사용자 음성의 의미 정보(예: "한시 미팅", "두시 미팅", "미팅 일정 변경")를 확인할 수 있다. 이외에 2501 동작 내지 2504 동작은, 상술한 901 동작 내지 904 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성의 강조 정보가 활용 가능한 것으로 확인된 경우, 2505 동작에서 도 26에 도시된 바와 같이 확인된 사용자 음성의 강조 정보(예: 두 시로)를 기반으로 사용자 음성의 의미 정보의 적어도 일부(예: 두시 미팅)를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 2506 동작에서 확인된 적어도 일부와 다른 일부를 포함하는 사용자 음성의 의미 정보를 기반으로 적어도 하나 이상의 텍스트에 관한 답변 정보 확인할 수 있다. 이때, 서버(201)는 도 26에 도시된 바와 같이 적어도 하나 이상의 텍스트 중 확인된 사용자 음성의 의미 정보의 적어도 일부에 대응하는 텍스트가 다른 일부에 대응하는 텍스트에 비하여 답변 정보를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성의 강조 정보가 활용 불가능한 것으로 확인된 경우 2507 동작에서 확인된 사용자 음성 정보를 기반으로 적어도 하나 이상의 텍스트에 관한 답변 정보를 확인할 수 있다. 서버(201)는 도 27에 도시된 바와 같이 2507 동작의 적어도 일부로 미리 저장된 강조 정보를 기반으로 적어도 하나 이상의 텍스트 중 적어도 일부를 확인할 수 있다. 예를 들어, 서버(201)가 사용자 음성을 기반으로 적어도 하나 이상의 텍스트(예: 빅스비는 현재 부재중입니다. “삐-” 소리가 난 후에 메시지를 남겨주세요.)를 확인하는 경우, 미리 저장된 강조 정보 (예: "삐-")를 확인하고, 확인된 강조 정보에 대응하는 적어도 하나 이상의 텍스트의 적어도 일부(예: "삐-")를 확인할 수 있다. 서버(201)는 확인된 적어도 하나 이상의 텍스트의 적어도 일부를 강조할 수 있다. 그러나 상기 기재에 국한되지 않고, 서버(201)는 사용자 음성 정보를 기반으로 사용자 음성의 강조 정보에 대응하여 강조된 텍스트를 포함하지 않는 적어도 하나 이상의 텍스트에 관한 답변 정보를 확인할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 2508 동작에서 전자장치(101)로 답변 정보를 전달하도록 통신 모듈을 제어할 수 있다. 전자장치(101)는 2509 동작에서 답변 정보를 기반으로, 적어도 하나 이상의 텍스트(예: 디스플레이를 통한 출력 또는 오디오를 통한 출력)를 출력할 수 있다. 예를 들어, 전자장치(101)는 도 26에 도시된 바와 같이 적어도 하나 이상의 텍스트 중 적어도 일부(예: 두 시로)를 강조(예: 시각적인 방법에 의한 강조 또는 청각적인 방법에 의한 강조)하여 출력할 수 있다. 또 예를 들어, 전자장치(101)는 도 27에 도시된 바와 같이 적어도 하나 이상의 텍스트 중 적어도 일부(예: "삐-")를 강조(예: 시각적인 방법에 의한 강조 또는 청각적인 방법에 의한 강조)하여 출력할 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 또 다른 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 사용자 음성의 강조 정보에 대응하는 텍스트를 지정된 순서로 출력할 수 있다. 이하에서는, 전자장치(101)의 사용자 음성의 강조 정보에 대응하는 텍스트를 지정된 순서로 출력하는 동작에 대해서, 도 28 및 도 29를 참조하여 설명한다.
도 28은 다양한 실시예들에 따른, 전자장치(101)의 텍스트를 지정된 순서로 출력하는 동작을 설명하기 위한 흐름도(2800)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 28에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 28에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 28에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 29를 참조하여 도 28에 대해서 설명한다.
도 29는 다양한 실시예들에 따른, 전자장치(101)의 텍스트를 지정된 순서로 출력하는 동작을 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2801 동작에서 사용자 음성을 획득하도록 마이크를 제어하고, 2802 동작에서 서버(201)로부터 적어도 하나 이상의 텍스트에 관한 답변에 대한 정보를 수신할 수 있다. 예를 들어, 전자장치(101)는 도 29(b)에 도시된 바와 같이 "일정 저장해줘. 내일 9시에 업체 미팅!"라는 사용자 음성(2901)을 획득할 수 있다. 전자장치(101)는 사용자 음성(2901)을 서버(201)로 전달하고, 서버(201)로부터 상기 사용자 음성(2901)에 포함된 강조 정보(예: "업체 미팅!")에 대응하도록 강조된 텍스트에 관한 답변 정보를 수신할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성을 기반으로 사용자 음성의 강조 정보(예: 업체 미팅!)를 확인하고, 사용자 음성의 의미 정보(예: "2018/xx/xx", "오전 9시", "일정 저장", "업체 미팅")를 확인하고, 사용자 음성의 강조 정보에 대응하는 사용자 음성의 의미 정보 중 적어도 일부(예: "업체 미팅")를 확인할 수 있다. 서버(201)는 사용자 음성의 의미 정보에 대응하는 적어도 하나 이상의 텍스트를 확인하고, 확인된 의미 정보 중 적어도 일부에 대응하는 적어도 하나 이상의 텍스트의 적어도 일부를 강조할 수 있다. 예를 들어, 서버(201)는 강조된 적어도 하나 이상의 텍스트의 적어도 일부가 지정된 순서로 출력되도록 답변 정보를 확인할 수 있다. 예를 들어, 서버(201)는 상기 강조된 적어도 하나 이상의 텍스트의 적어도 일부가 디스플레이를 통해 표시되는 경우, 문장 내에서 지정된 순서(예: 텍스트 중 "네, "라는 단어를 제외한 가장 앞 순서)에 표시되도록 할 수 있다. 예를 들어, 서버(201)는 상기 강조된 적어도 하나 이상의 텍스트의 적어도 일부가 오디오 장치를 통해 출력되는 경우, 지정된 순서(예: 텍스트 중 "네, "라는 단어를 제외한 가장 앞 순서)로 오디오 장치를 통해 출력되도록 할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 2803 동작에서 도 29 (b)에 도시된 바와 같이 수신된 답변 정보를 기반으로, 출력되는 텍스트 중 강조 정보에 대응하는 적어도 일부를 지정된 순서로 출력(예: 지정된 순서로 문장 내에 표시 또는 지정된 순서로 오디오로 출력)할 수 있다. 이에 따라 도 29 (a)에 도시된 바와 같이 사용자 음성(2901)에 강조 정보가 포함되지 않는 경우에 텍스트의 적어도 일부가 표시되는 순서에 비하여, 더 앞의 순서로 문장 내에 표시되거나 더 빠른 순서로 음성으로 출력되도록 할 수 있다.
이하에서는, 다양한 실시예들에 따른 전자장치(101) 및 그 제어 방법의 또 다른 예에 대해서 설명한다. 한편 이하에서, 상술한 전자장치(101)의 동작과 관련된 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 사용자 음성의 강조 정보에 대응하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드 및 적어도 하나 이상의 텍스트에 관한 답변 정보를 수신하여, 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하고, 수신된 답변 정보를 기반으로 텍스트를 출력할 수 있다. 이하에서는, 전자장치(101)의 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하고, 수신된 답변 정보를 기반으로 텍스트를 출력하는 동작에 대해서, 도 30 및 도 31을 참조하여 설명한다.
도 30은 다양한 실시예들에 따른, 전자장치(101)의 적어도 하나 이상의 동작을 수행하고, 텍스트를 출력하는 동작을 설명하기 위한 흐름도(3000)이다. 다양한 실시예들에 따르면, 전자장치(101)의 동작은 도 30에 도시되는 전자장치(101)의 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 30에 도시되는 전자장치(101)의 동작들 보다 더 많은 동작들이 수행되거나, 또는 도 30에 도시되는 전자장치(101)의 동작들 보다 더 적은 적어도 하나 이상의 동작이 수행될 수도 있다. 이하에서는, 도 31을 참조하여 도 30에 대해서 설명한다.
도 31은 다양한 실시예들에 따른, 전자장치(101)의 적어도 하나 이상의 동작을 수행하고, 텍스트를 출력하는 동작을 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 3001 동작에서 사용자 음성을 획득하도록 마이크를 제어하고, 3002 동작에서 서버(201)로부터 적어도 하나 이상의 텍스트에 관한 답변 정보를 수신할 수 있다. 예를 들어, 전자장치(101)는 도 31 (b)에 도시된 바와 같이 "여기가 어디지? 여긴 와도 와도 진짜 모르겠네. "라는 사용자 음성(3101)을 획득할 수 있다. 전자장치(101)는 사용자 음성(3201)을 서버(201)로 전달하고, 서버(201)로부터 상기 사용자 음성(3201)의 강조 정보(예: 와도 와도 진짜)에 대응하는 제 1 동작을 포함하는 적어도 하나 이상의 동작을 수행하기 위한 커맨드 및 상기 사용자 음성의 강조 정보에 대응하여 강조된 텍스트를 포함하는 적어도 하나 이상의 텍스트에 관한 답변 정보를 수신할 수 있다.
다양한 실시예들에 따르면, 서버(201)는 사용자 음성을 기반으로 사용자 음성의 강조 정보(예: 와도 와도 진짜)를 확인하고, 사용자 음성의 의미 정보(예: "현재 장소", "출력")를 확인하고, 사용자 음성의 강조 정보에 대응하는 사용자 음성의 의미 정보의 적어도 일부(예: "현재 장소")를 확인할 수 있다. 서버(201)는 사용자 음성의 의미 정보에 대응하는 적어도 하나 이상의 텍스트(예: "네 서울시 서초구 성촌길 33 삼성전자 서울 R&D 센터에요")를 확인하고, 확인된 의미 정보 중 적어도 일부에 대응하는 적어도 하나 이상의 텍스트의 적어도 일부(예: "서울시 서초구 성촌길 33 삼성전자 서울 R&D 센터")를 강조할 수 있다. 또 서버(201)는 인된 의미 정보 중 적어도 일부에 대응하는 제 1 동작(예: "지도 어플리케이션 상에 현재 위치를 강조하여 표시")을 포함하는 적어도 하나 이상의 동작(예: "지도 어플리케이션 실행", "지도 어플리케이션 상에 현재 위치를 강조하여 표시")을 수행하기 위한 커맨드를 확인할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 3003 동작에서 도 31 (b)에 도시된 바와 같이 수신된 답변 정보를 기반으로, 출력되는 적어도 하나 이상의 텍스트(3103) 중 사용자 음성의 강조 정보에 대응하는 적어도 일부가 강조되도록 표시할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)(예: 적어도 하나의 프로세서(120))는 3004 동작에서 도 31 (b)에 도시된 바와 같이 수신된 커맨드를 기반으로 사용자 음성의 강조 정보에 대응하는 정보(3104)를 실행된 어플리케이션의 화면에 표시하도록 디스플레이를 제어할 수 있다. 예를 들어, 전자장치(101)는, 수신된 커맨드를 기반으로 지도 어플리케이션을 실행하고, 사용자 음성의 강조 정보에 대응하는 정보(3104)(예: 현재 위치 정보)를 강조하여 실행된 지도 어플리케이션의 화면에 표시하도록 디스플레이를 제어할 수 있다. 이에 따라 도 31 (a)에 도시된 바와 같이 사용자 음성(3102)에 강조 정보가 포함되지 않는 경우에 비하여, 시각적으로 더 강조된 컨텐츠가 제공될 수 있다.
도 32 내지 34에서는, 본 발명의 다양한 실시예에 의한 전자장치(예: 전자장치(101)) 또는 외부 서버(예: 외부 서버(600))가 적용될 수 있는 통합 지능화 시스템에 대하여 설명한다.
도 32는 다양한 실시 예에 따른 통합 지능화 시스템을 나타낸 도면이다.
도 32을 참조하면, 통합 지능화 시스템(3200)은 사용자 단말(3210)(예: 전자장치(101)), 지능형 서버(3220), 개인화 정보 서버(3230) 또는 제안 서버(3240)를 포함할 수 있다. 지능형 서버(3220), 개인화 정보 서버(3230) 또는 제안 서버(3240) 중 적어도 하나는 상술한 외부 서버(600)에 포함될 수 있다.
사용자 단말(3210)은 사용자 단말(3210) 내부에 저장된 어플리케이션(app)(또는, 어플리케이션 프로그램(application program))(예: 알람 어플리케이션, 메시지 어플리케이션, 사진(갤러리) 어플리케이션 등)을 통해 사용자에게 필요한 서비스를 제공할 수 있다. 예를 들어, 사용자 단말(3210)은 사용자 단말(3210) 내부에 저장된 지능형 어플리케이션(또는, 음성 인식 어플리케이션)을 통해 다른 어플리케이션을 실행하고 동작시킬 수 있다. 사용자 단말(3210)의 상기 지능형 어플리케이션을 통해 상기 다른 어플리케이션의 실행하고 동작을 실행시키기 위한 사용자 입력을 수신할 수 있다. 상기 사용자 입력은, 예를 들어, 물리적 버튼, 터치 패드, 음성 입력, 원격 입력 등을 통해 수신될 수 있다. 다양한 실시예들에 따르면, 사용자 단말(3210)은 휴대폰, 스마트폰, PDA(personal digital assistant) 또는 노트북 컴퓨터 등 인터넷에 연결 가능한 각종 단말 장치(또는, 전자장치)가 이에 해당될 수 있다.
다양한 실시예들에 따르면, 사용자 단말(3210)은 사용자의 발화를 사용자 입력으로 수신할 수 있다. 사용자 단말(3210)은 사용자의 발화를 수신하고, 상기 사용자의 발화에 기초하여 어플리케이션을 동작시키는 명령을 생성할 수 있다. 이에 따라, 사용자 단말(3210)은 상기 명령을 이용하여 상기 어플리케이션을 동작시킬 수 있다.
지능형 서버(3220)는 통신망을 통해 사용자 단말(3210)로부터 사용자 음성 입력(voice input)(예: 사용자 발화)을 수신하여 텍스트 데이터(text data)로 변경할 수 있다. 다른 실시 예에서는, 지능형 서버(3220)는 상기 텍스트 데이터에 기초하여 패스 룰(path rule)(예: 액션 시퀀스)을 생성(또는, 선택)할 수 있다. 상기 패스 룰은 어플리케이션의 기능을 수행하기 위한 동작(action)(또는, 오퍼레이션(operation) 또는 태스크(task))에 대한 정보 또는 상기 동작을 실행하기 위해 필요한 파라미터에 대한 정보를 포함할 수 있다. 또한, 상기 패스 룰은 상기 어플리케이션의 상기 동작의 순서를 포함할 수 있다. 사용자 단말(3210)은 상기 패스 룰을 수신하고, 상기 패스 룰에 따라 어플리케이션을 선택하고, 상기 선택된 어플리케이션에서 상기 패스 룰에 포함된 동작을 실행시킬 수 있다.
예를 들어, 사용자 단말(3210)은 상기 동작을 실행하고, 동작을 실행한 사용자 단말(3210)의 상태에 대응되는 화면를 디스플레이에 표시할 수 있다. 다른 예를 들어, 사용자 단말(3210)은 상기 동작을 실행하고, 동작을 수행한 결과를 디스플레이에 표시하지 않을 수 있다. 사용자 단말(3210)은, 예를 들어, 복수의 동작을 실행하고, 상기 복수의 동작의 일부 결과 만을 디스플레이에 표시할 수 있다. 사용자 단말(3210)은, 예를 들어, 마지막 순서의 동작을 실행한 결과만을 디스플레이에 표시할 수 있다. 또 다른 예를 들어, 사용자 단말(3210)은 사용자의 입력을 수신하여 상기 동작을 실행한 결과를 디스플레이에 표시할 수 있다.
개인화 정보 서버(3230)는 사용자 정보가 저장된 데이터베이스를 포함할 수 있다. 예를 들어, 개인화 정보 서버(3230)는 사용자 단말(3210)로부터 사용자 정보(예: 컨텍스트 정보, 어플리케이션 실행 등)를 수신하여 상기 데이터베이스에 저장할 수 있다. 지능형 서버(3220)는 통신망을 통해 개인화 정보 서버(3230)로부터 상기 사용자 정보를 수신하여 사용자 입력에 대한 패스 룰을 생성하는 경우에 이용할 수 있다. 다양한 실시예들에 따르면, 사용자 단말(3210)은 통신망을 통해 개인화 정보 서버(3230)로부터 사용자 정보를 수신하여 데이터베이스를 관리하기 위한 정보로 이용할 수 있다.
제안 서버(3240)는 단말 내에 기능 혹은 어플리케이션의 소개 또는 제공될 기능에 대한 정보가 저장된 데이터베이스를 포함할 수 있다. 예를 들어, 제안 서버(3240)는 개인화 정보 서버(3230)로부터 사용자 단말(3210)의 사용자 정보를 수신하여 사용자가 사용 할 수 있는 기능에 대한 데이터베이스를 포함 할 수 있다. 사용자 단말(3210)은 통신망을 통해 제안 서버(3240)로부터 상기 제공될 기능에 대한 정보를 수신하여 사용자에게 정보를 제공할 수 있다.
도 33은 다양한 실시예들에 따른 통합 지능화 시스템의 사용자 단말을 나타낸 블록도이다.
도 33를 참조하면, 사용자 단말(3210)은 입력 모듈(3310)(예: 마이크(288) 또는 입력 장치(250)), 디스플레이(3320)(예: 디스플레이(160 또는 260)), 스피커(4320)(예: 스피커(282)), 메모리(3340)(예: 메모리(130) 또는 메모리(230)) 또는 프로세서(3350)(예: 프로세서(120 또는 210))을 포함할 수 있다. 사용자 단말(3210)은 하우징을 더 포함할 수 있고, 상기 사용자 단말(3210)의 구성들은 상기 하우징의 내부에 안착되거나 하우징 상에(on the housing) 위치할 수 있다.
다양한 실시예들에 따른, 입력 모듈(3310)은 사용자로부터 사용자 입력을 수신할 수 있다. 예를 들어, 입력 모듈(3310)은 연결된 외부 장치(예: 키보드, 헤드셋)로부터 사용자 입력을 수신할 수 있다. 다른 예를 들어, 입력 모듈(3310)은 디스플레이(3320)와 결합된 터치 스크린(예: 터치 스크린 디스플레이)을 포함할 수 있다. 또 다른 예를 들어, 입력 모듈(3310)은 사용자 단말(3210)(또는, 사용자 단말(3210)의 하우징)에 위치한 하드웨어 키(또는, 물리적 키)를 포함할 수 있다.
다양한 실시예들에 따르면, 입력 모듈(3310)은 사용자의 발화를 음성 신호로 수신할 수 있는 마이크(3311)를 포함할 수 있다. 예를 들어, 입력 모듈(3310)은 발화 입력 시스템(speech input system)을 포함하고, 상기 발화 입력 시스템을 통해 사용자의 발화를 음성 신호로 수신할 수 있다.
다양한 실시예들에 따른, 디스플레이(3320)는 이미지나 비디오, 및/또는 어플리케이션의 실행 화면을 표시할 수 있다. 예를 들어, 디스플레이(3320)는 어플리케이션의 그래픽 사용자 인터페이스(graphic user interface)(GUI)를 표시할 수 있다.
다양한 실시예들에 따르면, 스피커(4320)는 음성 신호를 출력할 수 있다. 예를 들어, 스피커(4320)는 사용자 단말(3210) 내부에서 생성된 음성 신호를 외부로 출력할 수 있다.
다양한 실시예들에 따르면, 메모리(3340)는 복수의 어플리케이션(3341, 3343)을 저장할 수 있다. 메모리(3340)에 저장된 복수의 어플리케이션(3341, 3343)은 사용자 입력에 따라 선택되어 실행되고 동작할 수 있다.
다양한 실시예들에 따르면, 메모리(3340)는 사용자 입력을 인식하는데 필요한 정보를 저장할 수 있는 데이터베이스를 포함할 수 있다. 예를 들어, 메모리(3340)은 로그(log) 정보를 저장할 수 있는 로그 데이터베이스를 포함할 수 있다. 다른 예를 들어, 메모리(3340)는 사용자 정보를 저장할 수 있는 페르소나 데이터베이스를 포함할 수 있다.
다양한 실시예들에 따르면, 메모리(3340)는 복수의 어플리케이션(3341, 3343)을 저장하고, 복수의 어플리케이션(3341, 3343)은 로드되어 동작할 수 있다. 예를 들어, 메모리(3340)에 저장된 복수의 어플리케이션(3341,132)은 프로세서(3350)의 실행 매니저 모듈(3353)에 의해 로드되어 동작할 수 있다. 복수의 어플리케이션(3341, 3343)은 기능을 수행하는 실행 서비스(3341a, 3343a) 또는 복수의 동작(또는, 단위 동작)(3341b, 3343b)을 포함할 수 있다. 실행 서비스(3341a, 3343a)는 프로세서(3350)의 실행 매니저 모듈(3353)에 의해 생성되고, 복수의 동작 (3341b, 3343b)을 실행할 수 있다.
다양한 실시예들에 따르면, 어플리케이션(3341, 3343)의 동작(3341b, 3343b)이 실행되었을 때, 동작(3341b, 3343b)의 실행에 따른 실행 상태 화면은 디스플레이(3320)에 표시될 수 있다. 상기 실행 상태 화면은, 예를 들어, 동작(3341b, 3343b)이 완료된 상태의 화면일 수 있다. 상기 실행 상태 화면은, 다른 예를 들어, 동작(3341b, 3343b)의 실행이 정지된 상태(partial landing)(예: 동작(3341b, 3343b)에 필요한 파라미터가 입력되지 않은 경우)의 화면일 수 있다.
다양한 실시예들에 따른, 실행 서비스(3341a, 3343a)는 패스 룰에 따라 동작(3341b, 3343b)을 실행할 수 있다. 예를 들어, 실행 서비스(3341a, 3343a)는 실행 매니저 모듈(3353)에 의해 생성되고, 실행 매니저 모듈(3353)로부터 상기 패스 룰에 따라 실행 요청을 수신하고, 상기 실행 요청에 따라 동작(3341b, 3343b)을 어플리케이션(3341, 3343)의 동작을 실행할 수 있다. 실행 서비스(3341a, 3343a)는 상기 동작(3341b, 3343b)의 수행이 완료되면 완료 정보를 실행 매니저 모듈(3353)로 송신할 수 있다.
다양한 실시예들에 따르면, 어플리케이션(3341, 3343)에서 복수의 동작(3341b, 3343b)이 실행되는 경우, 복수의 동작(3341b, 3343b)은 순차적으로 실행될 수 있다. 실행 서비스(3341a, 3343a)는 하나의 동작(동작 1)의 실행이 완료되면 다음 동작(동작 2)을 오픈하고 완료 정보를 실행 매니저 모듈(3353)로 송신할 수 있다. 여기서 임의의 동작을 오픈한다는 것은, 임의의 동작을 실행 가능한 상태로 천이시키거나, 임의의 동작의 실행을 준비하는 것으로 이해될 수 있다. 다시 말해서, 임의의 동작이 오픈되지 않으면, 해당 동작은 실행될 수 없다. 실행 매니저 모듈(3353)은 상기 완료 정보가 수신되면 다음 동작(3341b, 3343b)에 대한 실행 요청을 실행 서비스(예: 동작 2)로 송신할 수 있다. 다양한 실시예들에 따르면, 복수의 어플리케이션(3341, 3343)이 실행되는 경우, 복수의 어플리케이션(3341, 3343)은 순차적으로 실행될 수 있다. 예를 들어, 제 1 어플리케이션(3341)의 마지막 동작의 실행이 완료되어 완료 정보를 수신하면, 실행 매니저 모듈(3353)은 제 2 어플리케이션(3343)의 첫번째 동작의 실행 요청을 실행 서비스(3343a)로 송신할 수 있다.
다양한 실시예들에 따르면, 어플리케이션(3341, 3343)에서 복수의 동작(3341b, 3343b)이 실행된 경우, 상기 실행된 복수의 동작(3341b, 3343b) 각각의 실행에 따른 결과 화면은 디스플레이(3320)에 표시될 수 있다. 다양한 실시예들에 따르면, 상기 실행된 복수의 동작(3341b, 3343b)의 실행에 따른 복수의 결과 화면 중 일부만 디스플레이(3320)에 표시될 수 있다.
다양한 실시예들에 따르면, 메모리(3340)는 지능형 에이전트(3351)와 연동된 지능형 어플리케이션(예: 음성 인식 어플리케이션)을 저장할 수 있다. 지능형 에이전트(3351)와 연동된 어플리케이션은 사용자의 발화를 음성 신호로 수신하여 처리할 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)와 연동된 어플리케이션은 입력 모듈(3310)을 통해 입력되는 특정 입력(예: 하드웨어 키를 통한 입력, 터치 스크린을 통한 입력, 특정 음성 입력)에 의해 동작될 수 있다.
다양한 실시예들에 따르면, 프로세서(3350)는 사용자 단말(3210)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(3350)는 입력 모듈(3310)을 제어하여 사용자 입력을 수신할 수 있다. 프로세서(3350)는 디스플레이(3320)를 제어하여 이미지를 표시할 수 있다. 프로세서(3350)는 스피커(4320)를 제어하여 음성 신호를 출력할 수 있다. 프로세서(3350)는 메모리(3340)를 제어하여 필요한 정보를 불러오거나 저장할 수 있다.
다양한 실시예들에 따르면 프로세서(3350)는 지능형 에이전트(3351), 실행 매니저 모듈(3353) 또는 지능형 서비스 모듈(3355)를 포함할 수 있다. 다양한 실시예들에서, 프로세서(3350)는 메모리(3340)에 저장된 명령어들을 실행하여 지능형 에이전트(3351), 실행 매니저 모듈(3353) 또는 지능형 서비스 모듈(3355)을 구동시킬 수 있다. 본 발명의 다양한 실시 예에서 언급되는 여러 모듈들은 하드웨어로 구현될 수도 있고, 소프트웨어로 구현될 수도 있다. 본 발명의 다양한 실시 예에서 지능형 에이전트(3351), 실행 매니저 모듈(3353) 또는 지능형 서비스 모듈(3355)에 의해 수행되는 동작은 프로세서(3350)에 의해 수행되는 동작으로 이해될 수 있다.
다양한 실시예들에 따른, 지능형 에이전트(3351)는 사용자 입력으로 수신된 음성 신호에 기초하여 어플리케이션을 동작시키는 명령을 생성할 수 있다. 다양한 실시예들에 따른, 실행 매니저 모듈(3353)은 지능형 에이전트(3351)로부터 상기 생성된 명령을 수신하여 메모리(3340)에 저장된 어플리케이션(3341, 3343)을 선택하여 실행시키고 동작시킬 수 있다. 다양한 실시예들에 따르면, 지능형 서비스 모듈(3355)은 사용자의 정보를 관리하여 사용자 입력을 처리하는데 이용할 수 있다.
지능형 에이전트(3351)는 입력 모듈(3310)을 통해 수신된 사용자 입력을 지능형 서버(3220)로 송신하여 처리할 수 있다.
다양한 실시예들에 따르면, 지능형 에이전트(3351)는 상기 사용자 입력을 지능형 서버(3220)로 송신하기 전에, 상기 사용자 입력을 전처리할 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)는 상기 사용자 입력을 전처리하기 위하여, 적응 반향 제거(adaptive echo canceller)(AEC) 모듈, 노이즈 억제(noise suppression)(NS) 모듈, 종점 검출(end-point detection)(EPD) 모듈 또는 자동 이득 제어(automatic gain control)(AGC) 모듈을 포함할 수 있다. 상기 적응 반향 제거부는 상기 사용자 입력에 포함된 에코(echo)를 제거할 수 있다. 상기 노이즈 억제 모듈은 상기 사용자 입력에 포함된 배경 잡음을 억제할 수 있다. 상기 종점 검출 모듈은 상기 사용자 입력에 포함된 사용자 음성의 종점을 검출하여 사용자의 음성이 존재하는 부분을 찾을 수 있다. 상기 자동 이득 제어 모듈은 상기 사용자 입력을 인식하여 처리하기 적합하도록 상기 사용자 입력의 음량을 조절할 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)는 성능을 위하여 상기 전처리 구성을 전부 포함할 수 있지만, 다른 실시 예에서 지능형 에이전트(3351)는 저전력으로 동작하기 위해 상기 전처리 구성 중 일부를 포함할 수 있다.
다양한 실시예들에 따르면, 지능형 에이전트(3351)는 사용자의 호출을 인식하는 웨이크 업(wake up) 인식 모듈을 포함할 수 있다. 상기 웨이크 업 인식 모듈은 음성 인식 모듈을 통해 사용자의 웨이크 업 명령을 인식할 수 있고, 상기 웨이크 업 명령을 수신한 경우 사용자 입력을 수신하기 위해 지능형 에이전트(3351)을 활성화시킬 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)의 웨이크 업 인식 모듈은 저전력 프로세서(예: 오디오 코덱에 포함된 프로세서)에 구현될 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)는 하드웨어 키를 통한 사용자 입력에 따라 활성화될 수 있다. 지능형 에이전트(3351)가 활성화 되는 경우, 지능형 에이전트(3351)와 연동된 지능형 어플리케이션(예: 음성 인식 어플리케이션)이 실행될 수 있다.
다양한 실시예들에 따르면, 지능형 에이전트(3351)는 사용자 입력을 실행하기 위한 음성 인식 모듈을 포함할 수 있다. 상기 음성 인식 모듈은 어플리케이션에서 동작을 실행하도록 하기 위한 사용자 입력을 인식할 수 있다. 예를 들어, 상기 음성 인식 모듈은 어플리케이션(3341, 3343)에서 상기 웨이크 업 명령과 같은 동작을 실행하는 제한된 사용자 (음성) 입력(예: 카메라 어플리케이션이 실행 중일 때 촬영 동작을 실행시키는 "찰칵"과 같은 발화 등)을 인식할 수 있다. 상기 지능형 서버(3220)를 보조하여 사용자 입력을 인식하는 음성 인식 모듈은, 예를 들어, 사용자 단말(3210)내에서 처리할 수 있는 사용자 명령을 인식하여 빠르게 처리할 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)의 사용자 입력을 실행하기 위한 음성 인식 모듈은 어플리케이션 프로세서에서 구현될 수 있다.
다양한 실시예들에 따르면, 지능형 에이전트(3351)의 음성 인식 모듈(웨이크 업 모듈의 음성 인식 모듈을 포함)은 음성을 인식하기 위한 알고리즘을 이용하여 사용자 입력을 인식할 수 있다. 상기 음성을 인식하기 위해 사용되는 알고리즘은, 예를 들어, HMM(hidden markov model) 알고리즘, ANN(artificial neural network) 알고리즘 또는 DTW(dynamic time warping) 알고리즘 중 적어도 하나일 수 있다.
다양한 실시예들에 따르면, 지능형 에이전트(3351)는 사용자의 음성 입력을 텍스트 데이터로 변환할 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)는 사용자의 음성을 지능형 서버(3320)로 전달하여, 변환된 텍스트 데이터를 수신할 수 있다. 이에 따라, 지능형 에이전트(3351)는 상기 텍스트를 데이터를 디스플레이(3320)에 표시할 수 있다.
다양한 실시예들에 따르면, 지능형 에이전트(3351)는 지능형 서버(3220)로부터 송신한 패스 룰을 수신할 수 있다. 다양한 실시예들에 따르면, 지능형 에이전트(3351)은 상기 패스 룰을 실행 매니저 모듈(3353)로 송신할 수 있다.
다양한 실시예들에 따르면, 지능형 에이전트(3351)는 지능형 서버(3220)로부터 수신된 패스 룰에 따른 실행 결과 로그(log)를 지능형 서비스(intelligence service) 모듈(3355)로 송신하고, 상기 송신된 실행 결과 로그는 페르소나 모듈(persona manager)(3355b)의 사용자의 선호(preference) 정보에 누적되어 관리될 수 있다.
다양한 실시예들에 따른, 실행 매니저 모듈(3353)은 지능형 에이전트(3351)로부터 패스 룰을 수신하여 어플리케이션(3341, 3343)을 실행시키고, 어플리케이션(3341, 3343)이 상기 패스 룰에 포함된 동작(3341b, 3343b)을 실행하도록 할 수 있다. 예를 들어, 실행 매니저 모듈(3353)은 어플리케이션(3341, 3343)으로 동작(3341b, 3343b)을 실행하기 위한 명령 정보를 송신할 수 있고, 상기 어플리케이션(3341, 3343)로부터 동작(3341b, 3343b)의 완료 정보를 수신할 수 있다.
다양한 실시예들에 따르면, 실행 매니저 모듈(3353)은 지능형 에이전트(3351)와 어플리케이션(3341, 3343)의 사이에서 어플리케이션(3341, 3343)의 동작(3341b, 3343b)을 실행하기 위한 명령 정보를 송수신할 수 있다. 실행 매니저 모듈(3353)은 상기 패스 룰에 따라 실행할 어플리케이션(3341, 3343)을 바인딩(binding)하고, 상기 패스 룰에 포함된 동작(3341b, 3343b)의 명령 정보를 어플리케이션(3341, 3343)으로 송신할 수 있다. 예를 들어, 실행 매니저 모듈(3353)은 상기 패스 룰에 포함된 동작(3341b, 3343b)을 순차적으로 어플리케이션(3341, 3343)으로 송신하여, 어플리케이션(3341, 3343)의 동작(3341b, 3343b)을 상기 패스 룰에 따라 순차적으로 실행시킬 수 있다.
다양한 실시예들에 따르면, 실행 매니저 모듈(3353)은 어플리케이션(3341, 3343)의 동작(3341b, 3343b)의 실행 상태를 관리할 수 있다. 예를 들어, 실행 매니저 모듈(3353)은 어플리케이션(3341, 3343)으로부터 상기 동작(3341b, 3343b)의 실행 상태에 대한 정보를 수신할 수 있다. 상기 동작(3341b, 3343b)의 실행 상태가, 예를 들어, 정지된 상태(partial landing)인 경우(예: 동작(3341b, 3343b)에 필요한 파라미터가 입력되지 않은 경우), 실행 매니저 모듈(3353)은 상기 정지된 상태에 대한 정보를 지능형 에이전트(3351)로 송신할 수 있다. 지능형 에이전트(3351)는 상기 수신된 정보를 이용하여, 사용자에게 필요한 정보(예: 파라미터 정보)의 입력을 요청할 수 있다. 상기 동작(3341b, 3343b)의 실행 상태가, 다른 예를 들어, 동작 상태인 경우에 사용자로부터 발화를 수신할 수 있고, 실행 매니저 모듈(3353)은 상기 실행되고 있는 어플리케이션(3341, 3343) 및 어플리케이션(3341, 3343)의 실행 상태에 대한 정보를 지능형 에이전트(3351)로 송신할 수 있다. 지능형 에이전트(3351)는 지능형 서버(3220)를 통해 상기 사용자의 발화의 파라미터 정보를 수신할 수 있고, 상기 수신된 파라미터 정보를 실행 매니저 모듈(3353)로 송신할 수 있다. 실행 매니저 모듈(3353)은 상기 수신한 파라미터 정보를 이용하여 동작(3341b, 3343b)의 파라미터를 새로운 파라미터로 변경할 수 있다.
다양한 실시예들에 따르면, 실행 매니저 모듈(3353)은 패스 룰에 포함된 파라미터 정보를 어플리케이션(3341, 3343)로 전달할 수 있다. 상기 패스 룰에 따라 복수의 어플리케이션(3341, 3343)이 순차적으로 실행되는 경우, 실행 매니저 모듈(3353)은 하나의 어플리케이션에서 다른 어플리케이션으로 패스 룰에 포함된 파라미터 정보를 전달할 수 있다.
다양한 실시예들에 따르면, 실행 매니저 모듈(3353)은 복수의 패스 룰을 수신할 수 있다. 실행 매니저 모듈(3353)은 사용자의 발화에 기초하여 복수의 패스 룰이 선택될 수 있다. 예를 들어, 실행 매니저 모듈(3353)은 사용자의 발화가 일부 동작(3341a)을 실행할 일부 어플리케이션(3341)을 특정하였지만, 나머지 동작(3343b)을 실행할 다른 어플리케이션(3343)을 특정하지 않은 경우, 일부 동작(3341a)를 실행할 동일한 어플리케이션(3341)(예: 갤러리 어플리케이션)이 실행되고 나머지 동작(3343b)를 실행할 수 있는 서로 다른 어플리케이션(3343)(예: 메시지 어플리케이션, 텔레그램 어플리케이션)이 각각 실행되는 서로 다른 복수의 패스 룰을 수신할 수 있다. 실행 매니저 모듈(3353)은, 예를 들어, 상기 복수의 패스 룰의 동일한 동작(3341b, 3343b)(예: 연속된 동일한 동작(3341b, 3343b))을 실행할 수 있다. 실행 매니저 모듈(3353)은 상기 동일한 동작까지 실행한 경우, 상기 복수의 패스 룰에 각각 포함된 서로 다른 어플리케이션(3341, 3343)을 선택할 수 있는 상태 화면을 디스플레이(3320)에 표시할 수 있다.
다양한 실시예들에 따르면, 지능형 서비스 모듈(3355)는 컨텍스트 모듈(3355a), 페르소나 모듈(3355b) 또는 제안 모듈(3355c)을 포함할 수 있다.
컨텍스트 모듈(3355a)는 어플리케이션(3341, 3343)으로부터 어플리케이션(3341, 3343)의 현재 상태를 수집할 수 있다. 예를 들어, 컨텍스트 모듈(3355a)은 어플리케이션(3341, 3343)의 현재 상태를 나타내는 컨텍스트 정보를 수신하여 어플리케이션(3341, 3343)의 현재 상태를 수집할 수 있다.
페르소나 모듈(3355b)은 사용자 단말(3210)을 사용하는 사용자의 개인 정보를 관리할 수 있다. 예를 들어, 페르소나 모듈(3355b)은 사용자 단말(3210)의 사용 정보 및 수행 결과를 수집하여 사용자의 개인 정보를 관리할 수 있다.
제안 모듈(3355c)는 사용자의 의도를 예측하여 사용자에게 명령을 추천해줄 수 있다. 예를 들어, 제안 모듈(3355c)은 사용자의 현재 상태(예: 시간, 장소, 상황, 어플리케이션)을 고려하여 사용자에게 명령을 추천해줄 수 있다.
도 34는 다양한 실시예들에 따른 통합 지능화 시스템의 지능형 서버를 나타낸 블록도이다.
도 34를 참조하면, 지능형 서버(3220)는 자동 음성 인식(automatic speech recognition)(ASR) 모듈(3410)(예: ASR 모듈(751)), 자연어 이해(natural language understanding)(NLU) 모듈(3420)(예: NLU 모듈(753)), 패스 플래너(path planner) 모듈(3430)(예:액션 계획 매니저(759)), 대화 매니저(dialogue manager)(DM) 모듈(3440)(예: DM(757)), 자연어 생성(natural language generator)(NLG) 모듈(3450)(예: NLG 매니저(761)) 또는 텍스트 음성 변환(text to speech)(TTS) 모듈(3460)(예: TTS 매니저(763)을 포함할 수 있다.
지능형 서버(3220)의 자연어 이해 모듈(3420) 또는 패스 플래너 모듈(3430)은 패스 룰(path rule)(예: 액션 시퀀스 또는 태스크)을 생성할 수 있다.
다양한 실시예들에 따르면, 자동 음성 인식(automatic speech recognition)(ASR) 모듈(3410)은 사용자 단말(3210)로부터 수신된 사용자 입력을 텍스트 데이터로 변환할 수 있다.
다양한 실시예들에 따르면, 자동 음성 인식 모듈(3410)은 사용자 단말(3210)로부터 수신된 사용자 입력을 텍스트 데이터로 변환할 수 있다. 예를 들어, 자동 음성 인식 모듈(3410)은 발화 인식 모듈을 포함할 수 있다. 상기 발화 인식 모듈은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 예를 들어, 상기 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 상기 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 상기 발화 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 발화를 텍스트 데이터로 변환할 수 있다. 상기 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식 데이터베이스(automatic speech recognition database)(ASR DB)(3411)에 저장될 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 상기 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 상기 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 상기 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해 모듈(3420)은 사용자 입력이 어느 도메인(domain), 의도(intent) 또는 상기 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 얻을 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 도메인(domain), 의도(intend) 및 상기 의도를 파악하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))로 나누어진 매칭 규칙을 이용하여 사용자의 의도 및 파라미터를 결정할 수 있다. 예를 들어, 상기 하나의 도메인(예: 알람)은 복수의 의도(예: 알람 설정, 알람 해제 등)를 포함할 수 있고, 하나의 의도는 복수의 파라미터(예: 시간, 반복 횟수, 알람음 등)을 포함할 수 있다. 복수의 룰은, 예를 들어, 하나 이상의 필수 요소 파라미터를 포함할 수 있다. 상기 매칭 규칙은 자연어 인식 데이터베이스(natural language understanding database)(NLU DB)(3421)에 저장될 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 형태소, 구 등의 언어적 특징(예: 문법적 요소)을 이용하여 사용자 입력으로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 도메인 및 의도에 매칭시켜 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 각각의 도메인 및 의도에 사용자 입력에서 추출된 단어가 얼마나 포함되어 있는 지를 계산하여 사용자 의도를 결정할 수 있다. 다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 상기 의도를 파악하는데 기초가 된 단어를 이용하여 사용자 입력의 파라미터를 결정할 수 있다. 다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 사용자 입력의 의도를 파악하기 위한 언어적 특징이 저장된 자연어 인식 데이터베이스(3421)를 이용하여 사용자의 의도를 결정할 수 있다. 다른 실시 예에 따르면, 자연어 이해 모듈(3420)은 개인화 언어 모델(personal language model)(PLM)을 이용하여 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 개인화된 정보(예: 연락처 리스트, 음악 리스트)를 이용하여 사용자의 의도를 결정할 수 있다. 상기 개인화 언어 모델은, 예를 들어, 자연어 인식 데이터베이스(3421)에 저장될 수 있다. 다양한 실시예들에 따르면, 자연어 이해 모듈(3420)뿐만 아니라 자동 음성 인식 모듈(3410)도 자연어 인식 데이터베이스(3421)에 저장된 개인화 언어 모델을 참고하여 사용자의 음성을 인식할 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 사용자 입력의 의도 및 파라미터에 기초하여 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 사용자 입력의 의도에 기초하여 실행될 어플리케이션을 선택하고, 상기 선택된 어플리케이션에서 수행될 동작을 결정할 수 있다. 상자연어 이해 모듈(3420)은 상기 결정된 동작에 대응되는 파라미터를 결정하여 패스 룰을 생성할 수 있다. 다양한 실시예들에 따르면, 자연어 이해 모듈(3420)에 의해 생성된 패스 룰은 실행될 어플리케이션, 상기 어플리케이션에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터에 대한 정보를 포함할 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 사용자 입력의 의도 및 파라미터를 기반으로 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 패스 플래너 모듈(3430)로부터 사용자 단말(3210)에 대응되는 패스 룰 셋을 수신하고, 사용자 입력의 의도 및 파라미터를 상기 수신된 패스 룰 셋에 매핑하여 패스 룰을 결정할 수 있다.
다른 실시 예에 따르면, 자연어 이해 모듈(3420)은 사용자 입력의 의도 및 파라미터에 기초하여 실행될 어플리케이션, 상기 어플리케이션에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터를 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 사용자 단말(3210)의 정보를 이용하여 상기 실행될 어플리케이션 및 상기 어플리케이션에서 실행될 동작을 사용자 입력의 의도에 따라 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 패스 룰을 생성할 수 있다. 상기 생성된 패스 룰은, 예를 들어, 패스 플래너 모듈(3430)를 통해 패스 룰 데이터베이스(path rule database)(PR DB)(3431)에 저장될 수 있다. 상기 생성된 패스 룰은 데이터베이스(3431)의 패스 룰 셋에 추가될 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 생성된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 상기 복수의 패스 룰 최적의 패스 룰을 선택할 수 있다. 다른 예를 들어, 자연어 이해 모듈(3420)은 사용자 발화에 기초하여 일부 동작만이 특정된 경우 복수의 패스 룰을 선택할 수 있다. 자연어 이해 모듈(3420)은 사용자의 추가 입력에 의해 상기 복수의 패스 룰 중 하나의 패스 룰을 결정할 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 사용자 입력에 대한 요청으로 패스 룰을 사용자 단말(3210)로 송신할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 사용자 입력에 대응되는 하나의 패스 룰을 사용자 단말(3210)로 송신할 수 있다. 다른 예를 들어, 자연어 이해 모듈(3420)은 사용자 입력에 대응되는 복수의 패스 룰을 사용자 단말(3210)로 송신할 수 있다. 상기 복수의 패스 룰은, 예를 들어, 사용자 발화에 기초하여 일부 동작만이 특정된 경우 자연어 이해 모듈(3420)에 의해 생성될 수 있다.
다양한 실시예들에 따르면, 패스 플래너 모듈(3430)은 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다.
다양한 실시예들에 따르면, 패스 플래너 모듈(3430)은 자연어 이해 모듈(3420)로 복수의 패스 룰을 포함하는 패스 룰 셋을 전달할 수 있다. 상기 패스 룰 셋의 복수의 패스 룰은 패스 플래너 모듈(3430)에 연결된 패스 룰 데이터베이스(3431)에 테이블 형태로 저장될 수 있다. 예를 들어, 패스 플래너 모듈(3430)은 지능형 에이전트(3351)로부터 수신된 사용자 단말(3210)의 정보(예: OS 정보, 어플리케이션 정보)에 대응되는 패스 룰 셋을 자연어 이해 모듈(3420)로 전달할 수 있다. 상기 패스 룰 데이터베이스(3431)에 저장된 테이블은, 예를 들어, 도메인 또는 도메인의 버전 별로 저장될 수 있다.
다양한 실시예들에 따르면, 패스 플래너 모듈(3430)은 패스 룰 셋에서 하나의 패스 룰, 또는 복수의 패스 룰을 선택하여 자연어 이해 모듈(3420)로 전달할 수 있다. 예를 들어, 패스 플래너 모듈(3430)은 사용자의 의도 및 파라미터를 사용자 단말(3210) 에 대응되는 패스 룰 셋에 매칭하여 하나의 패스 룰, 또는 복수의 패스 룰을 선택하여 자연어 이해 모듈(3420)로 전달할 수 있다.
다양한 실시예들에 따르면, 패스 플래너 모듈(3430)은 사용자 의도 및 파라미터를 이용하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 패스 플래너 모듈(3430)은 사용자 의도 및 파라미터에 기초하여 실행될 어플리케이션 및 상기 어플리케이션에서 실행될 동작을 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 다양한 실시예들에 따르면, 패스 플래너 모듈(3430)은 상기 생성된 패스 룰을 패스 룰 데이터베이스(3431)에 저장할 수 있다.
다양한 실시예들에 따르면, 패스 플래너 모듈(3430)은 자연어 이해 모듈(3420)에서 생성된 패스 룰을 패스 룰 데이터베이스(3431)에 저장할 수 있다. 상기 생성된 패스 룰은 패스 룰 데이터베이스(3431)에 저장된 패스 룰 셋에 추가될 수 있다.
다양한 실시예들에 따르면, 패스 룰 데이터베이스(3431)에 저장된 테이블에는 복수의 패스 룰 또는 복수의 패스 룰 셋을 포함할 수 있다. 복수의 패스 룰 또는 복수의 패스 룰 셋은 각 패스 룰을 수행하는 장치의 종류, 버전, 타입, 또는 특성을 반영할 수 있다.
다양한 실시예들에 따르면, 대화 매니저 모듈(3440)은 자연어 이해 모듈(3420)에 의해 파악된 사용자의 의도가 명확한지 여부를 판단할 수 있다. 예를 들어, 대화 매니저 모듈(3440)은 파라미터의 정보가 충분하지 여부에 기초하여 사용자의 의도가 명확한지 여부를 판단할 수 있다. 대화 매니저 모듈(3440)는 자연어 이해 모듈(3420)에서 파악된 파라미터가 태스크를 수행하는데 충분한지 여부를 판단할 수 있다. 다양한 실시예들에 따르면, 대화 매니저 모듈(3440)는 사용자의 의도가 명확하지 않은 경우 사용자에게 필요한 정보를 요청하는 피드백을 수행할 수 있다. 예를 들어, 대화 매니저 모듈(3440)는 사용자의 의도를 파악하기 위한 파라미터에 대한 정보를 요청하는 피드백을 수행할 수 있다.
다양한 실시예들에 따르면, 대화 매니저 모듈(3440)은 컨텐츠 제공(content provider) 모듈을 포함할 수 있다. 상기 컨텐츠 제공 모듈은 자연어 이해 모듈(3420)에서 파악된 의도 및 파라미터에 기초하여 동작을 수행할 수 있는 경우, 사용자 입력에 대응되는 태스크를 수행한 결과를 생성할 수 있다. 다양한 실시예들에 따르면, 대화 매니저 모듈(3440)은 사용자 입력에 대한 응답으로 상기 컨텐츠 제공 모듈에서 생성된 상기 결과를 사용자 단말(3210)로 송신할 수 있다.
다양한 실시예들에 따르면, 자연어 생성 모듈(NLG)(3450)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 상기 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 상기 지정된 정보는, 예를 들어, 추가 입력에 대한 정보, 사용자 입력에 대응되는 동작의 완료를 안내하는 정보 또는 사용자의 추가 입력을 안내하는 정보(예: 사용자 입력에 대한 피드백 정보)일 수 있다. 상기 텍스트 형태로 변경된 정보는 사용자 단말(3210)로 송신되어 디스플레이(3320)에 표시되거나, 텍스트 음성 변환 모듈(3460)로 송신되어 음성 형태로 변경될 수 있다.
다양한 실시예들에 따르면, 텍스트 음성 변환 모듈(3460)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(3460)은 자연어 생성 모듈(3450)로부터 텍스트 형태의 정보를 수신하고, 상기 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 사용자 단말(3210)로 송신할 수 있다. 사용자 단말(3210)은 상기 음성 형태의 정보를 스피커(4320)로 출력할 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420), 패스 플래너 모듈(3430) 및 대화 매니저 모듈(3440)은 하나의 모듈로 구현될 수 있다. 예를 들어, 자연어 이해 모듈(3420), 패스 플래너 모듈(3430) 및 대화 매니저 모듈(3440)은 하나의 모듈로 구현되어 사용자의 의도 및 파라미터를 결정하고, 상기 결정된 사용자의 의도 및 파라미터에 대응되는 응답(예: 패스 룰)을 생성할 수 있다. 이에 따라, 생성된 응답은 사용자 단말(3210)로 송신될 수 있다.
도 35는 다양한 실시예들에 따른 패스 플래너 모듈(path planner module)의 패스 룰(path rule)을 생성하는 방법을 나타낸 도면이다.
도 35를 참조하면, 다양한 실시예들에 따른, 자연어 이해 모듈(3420)은 앱의 기능을 단위 동작(A 내지 F)으로 구분하여 패스 룰 데이터베이스(3435)에 저장할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 단위 동작으로 구분된 복수의 패스 룰(A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F)을 포함하는 패스 룰 셋을 패스 룰 데이터베이스(3435)에 저장할 수 있다.
다양한 실시예들에 따르면, 패스 플래너 모듈(3430)의 패스 룰 데이터베이스(3435)는 앱의 기능을 수행하기 위한 패스 룰 셋을 저장할 수 있다. 상기 패스 룰 셋은 복수의 동작을 포함하는 복수의 패스 룰을 포함할 수 있다. 상기 복수의 패스 룰은 복수의 동작 각각에 입력되는 파라미터에 따라 실행되는 동작이 순차적으로 배열될 수 있다. 일 실시 예에 따르면, 상기 복수의 패스 룰은 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 구성되어 패스 룰 데이터베이스(3435)에 저장될 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 사용자 입력의 의도 및 파라미터에 대응되는 상기 복수의 패스 룰(A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중에 최적의 패스 룰(A-B1-C3-D-F)을 선택할 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 사용자 입력에 완벽히 매칭되는 패스 룰이 없는 경우 사용자 단말(3210)에 복수의 룰을 전달할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 사용자 입력에 부분적으로 대응된 패스 룰(예: A-B1)을 선택할 수 있다. 자연어 이해 모듈(3420)은 사용자 입력에 부분적으로 대응된 패스 룰(예: A-B1)을 포함하는 하나 이상의 패스 룰(예: A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F)을 선택하여 사용자 단말(3210)에 전달할 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 사용자 단말(3210)의 추가 입력에 기초하여 복수의 패스 룰 중 하나를 선택하고, 상기 선택된 하나의 패스 룰을 사용자 단말(3210)에 전달 할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 사용자 단말(3210)에서 추가로 입력된 사용자 입력(예: C3를 선택하는 입력)에 따라 복수의 패스 룰(예: A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중 하나의 패스 룰(예: A-B1-C3-D-F)을 선택하여 사용자 단말(3210)에 송신할 수 있다.
다양한 실시예들예에 따르면, 자연어 이해 모듈(3420)은 자연어 이해 모듈(3420)을 통해 사용자 단말(3210)에 추가로 입력된 사용자 입력(예: C3를 선택하는 입력)에 대응되는 사용자의 의도 및 파라미터를 결정할 수 있고, 상기 결정된 사용자의 의도 또는 파라미터를 사용자 단말(3210)로 송신할 수 있다. 사용자 단말(3210)은 상기 송신된 의도 또는 상기 파라미터에 기초하여, 복수의 패스 룰(예: A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중 하나의 패스 룰(예: A-B1-C3-D-F)을 선택할 수 있다.
이에 따라, 사용자 단말(3210)은 상기 선택된 하나의 패스 룰에 의해 앱(3541, 3543)의 동작을 완료시킬 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 정보가 부족한 사용자 입력이 지능형 서버(3400)에 수신된 경우, 상기 수신한 사용자 입력에 부분적으로 대응되는 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(3420)은 상기 부분적으로 대응된 패스 룰을 지능형 에이전트(3551)로 송신(①)할 수 있다. 지능형 에이전트(3551)는 실행 매니저 모듈(3553)로 상기 부분적으로 대응된 패스 룰을 송신(②)하고, 실행 매니저 모듈(3553)는 상기 패스 룰에 따라 제 1 앱(3541)을 실행시킬 수 있다. 실행 매니저 모듈(3553)는 제 1 앱(3541)을 실행하면서 부족한 파라미터에 대한 정보를 지능형 에이전트(3551)로 송신(③)할 수 있다. 지능형 에이전트(3551)는 상기 부족한 파라미터에 대한 정보를 이용하여 사용자에게 추가 입력을 요청할 수 있다. 지능형 에이전트(3551)는 사용자에 의해 추가 입력이 수신(④)되면 지능형 서버(3400)로 송신하여 처리할 수 있다. 자연어 이해 모듈(3420)은 상기 추가로 입력된 사용자 입력의 의도 및 파라미터 정보에 기초하여 추가된 패스 룰을 생성하여 지능형 에이전트(3551)로 송신(⑤)할 수 있다. 지능형 에이전트(3551)는 실행 매니저 모듈(3553)로 상기 패스 룰을 송신(⑥)하여 제 2 앱(3543)를 실행할 수 있다.
다양한 실시예들에 따르면, 자연어 이해 모듈(3420)은 일부 정보가 누락된 사용자 입력이 지능형 서버(3400)에 수신된 경우, 개인화 정보 서버(3300)로 사용자 정보 요청을 송신할 수 있다. 개인화 정보 서버(3300)는 페르소나 데이터베이스에 저장된 사용자 입력을 입력한 사용자의 정보를 자연어 이해 모듈(3420)로 송신할 수 있다. 자연어 이해 모듈(3420)은 상기 사용자 정보를 이용하여 일부 동작이 누락된 사용자 입력에 대응되는 패스 룰을 선택할 수 있다. 이에 따라, 자연어 이해 모듈(3420)은 일부 정보가 누락된 사용자 입력이 지능형 서버(3400)에 수신되더라도, 누락된 정보를 요청하여 추가 입력을 받거나 사용자 정보를 이용하여 상기 사용자 입력에 대응되는 패스 룰을 결정할 수 있다.
다양한 실시예들에 따르면, 전자장치(101)에 있어서, 마이크, 회로를 포함하는 통신 모듈, 및 적어도 하나의 프로세서(120)를 포함하고, 상기 적어도 하나의 프로세서(120)는 사용자 음성을 획득하도록 상기 마이크를 제어하고, 상기 획득된 사용자 음성을 서버(201)로 전달하도록 상기 통신 모듈을 제어하고, 상기 서버(201)로부터 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나 이상의 동작은 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보의 적어도 일부 및 상기 사용자 음성의 강조 정보(emphasis information)의 적어도 일부에 대응하고, 상기 수신된 커맨드를 기반으로 상기 적어도 하나 이상의 동작을 수행하도록 설정된, 전자장치(101)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 강조 정보는 상기 사용자 음성 중 지정된 음성학적인 조건을 만족하는 적어도 일부, 또는 지정된 언어학적인 조건을 만족하는 적어도 일부 중 적어도 하나를 포함하는 것을 특징으로 하고, 상기 지정된 음성학적인 조건은 지정된 볼륨의 크기, 지정된 피치의 높이, 또는 지정된 발음의 길이 중 적어도 하나를 포함하고, 상기 지정된 언어학적인 조건은 지정된 단어로 확인되는 것, 또는 상기 사용자 음성 내에서 반복되는 단어로 확인되는 것 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 사용자 음성의 의미 정보의 적어도 일부는 상기 사용자 음성의 강조 정보의 적어도 일부를 기반으로 확인되고, 상기 사용자 음성의 의미 정보의 적어도 일부에 포함된 적어도 하나의 파라미터는 상기 사용자 음성의 강조 정보의 적어도 일부를 기반으로 설정될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나 이상의 동작 중 적어도 일부에 대응하는 파라미터는, 상기 사용자 음성의 의미 정보 중 적어도 일부에 포함된 파라미터이고, 상기 사용자 음성의 의미 정보 중 적어도 일부에 포함된 상기 파라미터는 상기 사용자 음성의 강조 정보를 기반으로 설정될 수 있다.
다양한 실시예들에 따르면, 상기 사용자 음성의 의미 정보 중 적어도 일부는 상기 사용자 음성의 강조 정보의 상기 사용자 음성의 강조 정보에 대응하는 사용자 발화의 시점을 나타내는 정보 또는 상기 사용자 음성의 강조 정보의 종류와 관련된 정보를 기반으로 확인되고, 상기 시점과 관련된 정보는 상기 사용자 음성의 강조 정보에 대응하는 사용자 발화의 시점을 나타내는 정보이고, 상기 사용자 음성의 강조 정보의 종류는 상기 지정된 음성학적인 조건을 만족하는 제 1 강조 정보 또는 상기 지정된 언어학적인 조건을 만족하는 제 2 강조 정보를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는, 상기 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하는 동작의 적어도 일부로, 상기 수신된 커맨드를 기반으로, 알람 어플리케이션을 실행하고, 상기 실행된 알람 어플리케이션에 의해 지정된 시간 구간 동안 상기 사용자 음성의 강조 정보에 대응하는 지정된 횟수로 알람이 제공되도록 하도록 설정되는, 전자장치(101).
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는 상기 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하는 동작의 적어도 일부로, 상기 커맨드를 기반으로 전자장치(101)에 설치된 복수의 어플리케이션 중 상기 사용자 음성의 강조 정보에 대응하는 복수의 제 1 어플리케이션들을 실행하고, 상기 실행된 복수의 제 1 어플리케이션들의 각각에 의해 상기 적어도 하나 이상의 동작 중 적어도 일부에 대응하는 동작이 수행되도록 제어하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는, 상기 사용자 음성을 서버(201)로 전달한 것에 응답하여, 서버(201)로부터 적어도 하나 이상의 동작을 수행하기 위한 제 1 커맨드를 수신하도록 상기 통신 모듈을 제어하고, 수신된 제 1 커맨드를 기반으로, 상기 전자장치(101)의 상태 값을 사용자 음성의 강조 정보에 대응하는 지정된 제 1 값으로 설정하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 상태 값은 상기 전자장치의 적어도 하나의 오디오 출력 파라미터, 상기 전자장치의 디스플레이 밝기 값, 또는 상기 전자장치의 진동 정도를 나타내는 값을 포함하는 상기 전자장치의 설정 값을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는, 지정된 기간 동안 제 1 사용자 음성을 획득하고, 상기 서버(201)로 상기 획득된 제 1 사용자 음성을 전달하고, 서버(201)로부터 적어도 하나 이상의 제 1 동작을 수행하기 위한 제 2 커맨드를 수신하고, 상기 적어도 하나 이상의 제 1 동작의 적어도 일부는 상기 사용자 음성의 강조 정보에 대응하는 상기 제 1 사용자 음성의 제 1 정보에 대응하고, 수신된 제 2 커맨드를 기반으로, 전자장치(101)의 상태 값을 상기 제 1 사용자 음성의 제 1 정보에 대응하는 제 2 값으로 설정하도록 더 설정될 수 있다.
다양한 실시예들에 따르면, 상기 서버에 의해 상기 사용자 음성의 강조 정보를 기반으로 상기 전자장치와 연관된 적어도 하나의 외부 전자장치가 확인되고, 상기 서버(201)에 의해 상기 적어도 하나 이상의 동작을 수행하기 위한 커맨드가 상기 적어도 하나의 외부 전자장치(2010)로 전달되고, 상기 적어도 하나의 다른 외부 전자장치(2010)에 의해 상기 수신된 커맨드를 기반으로 상기 적어도 하나 이상의 동작이 수행될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는 상기 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하는 동작의 적어도 일부로, 상기 강조 정보에 대응하는 적어도 하나 이상의 동작 중 적어도 일부를 기반으로, 상기 전자장치에 저장된 상기 사용자 음성에 대응하는 정보를 순차적으로 출력하고, 상기 사용자 음성에 대응하는 정보를 순차적으로 출력하는 중에 사용자 입력을 획득하고, 상기 사용자 입력을 획득한 것에 응답하여, 상기 사용자 음성에 대응하는 정보의 출력을 중지하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는 상기 서버(201)로부터 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보를 수신하도록 상기 통신 모듈을 제어하도록 설정되고, 상기 적어도 하나 이상의 텍스트는 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 및 상기 사용자 음성의 강조 정보에 기반하여 확인되고, 상기 수신된 답변 정보를 기반으로, 적어도 하나 이상의 텍스트를 출력하도록 설정될 수 있다.
다양한 실시예들에 따르면, 마이크, 회로를 포함하는 통신 모듈, 및 적어도 하나의 프로세서(120)를 포함하고, 상기 적어도 하나의 프로세서(120)는 사용자 음성을 획득하도록 상기 마이크를 제어하고, 상기 획득된 사용자 음성을 서버(201)로 전달하도록 상기 통신 모듈을 제어하고, 상기 서버(201)로부터 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보는 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 및 상기 사용자 음성의 강조 정보(emphasis information)에 기반하여 확인되고, 상기 수신된 답변에 대한 정보를 기반으로 지정된 방식으로 적어도 하나 이상의 텍스트를 출력하도록 설정된, 전자장치(101)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는 상기 답변에 대한 정보를 기반으로 지정된 방식으로 적어도 하나 이상의 텍스트를 출력하는 동작의 적어도 일부로, 상기 답변에 대한 정보를 기반으로, 상기 적어도 하나 이상의 텍스트를 상기 전자장치(101)의 디스플레이 상에 표시하도록 설정되고, 상기 적어도 하나 이상의 텍스트 중 상기 사용자 음성의 강조 정보에 대응하는 제 1 텍스트가 상기 표시되는 상기 적어도 하나 이상의 텍스트 중 다른 텍스트에 비해 시각적으로 강조되어 표시될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 프로세서(120)는 상기 답변에 대한 정보를 기반으로 지정된 방식으로 적어도 하나 이상의 텍스트를 출력하는 동작의 적어도 일부로, 상기 답변에 대한 정보를 기반으로 상기 적어도 하나 이상의 텍스트를 상기 전자장치(101)의 오디오 장치를 통해 출력하도록 설정되고, 상기 출력되는 적어도 하나 이상의 텍스트 중 상기 사용자 음성의 상기 강조 정보에 대응하는 적어도 일부는 상기 출력되는 적어도 하나 이상의 텍스트 중 다른 일부에 비하여 청각적으로 강조되어 출력될 수 있다.
다양한 실시예들에 따르면, 인스트럭션들을 저장하는 메모리, 및 적어도 하나의 프로세서(120)를 포함하고, 상기 인스트럭션들은, 실행 시에 상기 적어도 하나의 프로세서(120)가 사용자 음성을 획득하고, 상기 사용자 음성에 대응하는 사용자 음성의 강조 정보를 확인하고, 상기 사용자 음성에 대응하는 사용자 음성의 의미 정보를 확인하고, 상기 확인된 사용자 음성의 강조 정보 및 상기 확인된 사용자 음성의 의미 정보를 기반으로, 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인하고, 상기 확인된 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 전달하도록 설정된, 전자장치(101)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 적어도 하나의 프로세서(120)가 상기 사용자 음성의 강조 정보의 적어도 일부에 대응하는 상기 사용자 음성의 의미 정보의 적어도 일부를 확인하고, 상기 사용자 음성의 강조 정보의 적어도 일부에 기반하여 상기 확인된 사용자 음성의 의미 정보의 적어도 일부에 포함된 적어도 하나의 파라미터의 값을 설정하고, 상기 설정된 파라미터의 값을 포함하는 적어도 일부 및 다른 일부를 포함하는 상기 사용자 음성의 의미 정보를 기반으로, 상기 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 사용자 음성의 강조 정보는 적어도 하나 이상의 음향학적 분석 기술 또는 적어도 하나 이상의 언어학적 분석 기술 중 적어도 하나를 이용하여 확인될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나 이상의 음향학적 분석 기술은 상기 사용자 음성의 적어도 일부의 볼륨, 피치 또는 발음 길이 중 적어도 하나를 분석하는 기술이고, 상기 적어도 하나 이상의 언어학적 분석 기술은 상기 사용자 음성의 특정 단어 반복, 또는 강조 부사 발화를 분석하는 기술이며, 상기 제 1 정보는 상기 적어도 하나 이상의 음향학적 분석 기술에 따라 상기 사용자 음성으로부터 확인된 제 1 강조 정보 또는 상기 적어도 하나 이상의 언어학적 분석 기술에 따라 상기 사용자 음성으로부터 확인된 제 2 강조 정보인 것을 특징으로 할 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 적어도 하나의 프로세서(120)가 상기 확인된 사용자 음성의 강조 정보 및 상기 확인된 사용자 음성의 의미 정보를 기반으로, 적어도 하나 이상의 텍스트에 관한 답변 정보를 확인하고, 상기 적어도 하나 이상의 텍스트에 관한 답변 정보를 전달하도록 설정될 수 있다.
다양한 실시예들에 따르면, 마이크, 회로를 포함하는 통신 모듈, 및 적어도 하나의 프로세서(120)를 포함하고, 상기 적어도 하나의 프로세서(120)는 사용자 음성을 획득하도록 상기 마이크를 제어하고, 상기 획득된 사용자 음성을 서버(201)로 전달하도록 상기 통신 모듈을 제어하고, 상기 서버(201)로부터 순차적으로 수행되는 적어도 하나의 제 1 동작을 수행하기 위한 제 1 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나의 제 1 동작은, 상기 사용자 음성으로부터 강조 정보가 확인되지 않는 경우, 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보에 대응하고, 상기 서버(201)로부터 순차적으로 수행되는 적어도 하나의 제 2 동작을 수행하기 위한 제 2 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하도록 설정되고, 상기 적어도 하나의 제 2 동작은, 상기 사용자 음성으로부터 강조 정보가 확인되는 경우, 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 및 상기 사용자 음성의 강조 정보에 대응하고, 전자장치(101)가 제공될 수 있다.

Claims (21)

  1. 전자장치에 있어서,
    마이크;
    회로를 포함하는 통신 모듈; 및
    적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는:
    사용자 음성을 획득하도록 상기 마이크를 제어하고,
    상기 획득된 사용자 음성을 서버로 전달하도록 상기 통신 모듈을 제어하고,
    상기 서버로부터 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나 이상의 동작은 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보의 적어도 일부 및 상기 사용자 음성의 강조 정보(emphasis information)의 적어도 일부에 대응하고,
    상기 수신된 커맨드를 기반으로 상기 적어도 하나 이상의 동작을 수행하도록 설정된, 전자장치.
  2. 제 1 항에 있어서,
    상기 강조 정보는 상기 사용자 음성 중 지정된 음성학적인 조건을 만족하는 적어도 일부, 또는 지정된 언어학적인 조건을 만족하는 적어도 일부 중 적어도 하나를 포함하는 것을 특징으로 하고,
    상기 지정된 음성학적인 조건은 지정된 볼륨의 크기, 지정된 피치의 높이, 또는 지정된 발음의 길이 중 적어도 하나를 포함하고,
    상기 지정된 언어학적인 조건은 지정된 단어로 확인되는 것, 또는 상기 사용자 음성 내에서 반복되는 단어로 확인되는 것 중 적어도 하나를 포함하는, 전자장치.
  3. 제 2 항에 있어서,
    상기 사용자 음성의 의미 정보의 적어도 일부는 상기 사용자 음성의 강조 정보의 적어도 일부를 기반으로 확인되고,
    상기 사용자 음성의 의미 정보의 적어도 일부에 포함된 적어도 하나의 파라미터는 상기 사용자 음성의 강조 정보의 적어도 일부를 기반으로 설정되는, 전자장치.
  4. 제 3 항에 있어서,
    상기 적어도 하나 이상의 동작 중 적어도 일부는 상기 사용자 음성의 의미 정보의 적어도 일부에 포함된 적어도 하나의 파라미터에 대응하는, 전자장치.
  5. 제 4 항에 있어서,
    상기 사용자 음성의 의미 정보 중 적어도 일부는 상기 사용자 음성의 강조 정보의 상기 사용자 음성의 강조 정보에 대응하는 사용자 발화의 시점을 나타내는 정보 또는 상기 사용자 음성의 강조 정보의 종류와 관련된 정보를 기반으로 확인되고,
    상기 시점과 관련된 정보는 상기 사용자 음성의 강조 정보에 대응하는 사용자 발화의 시점을 나타내는 정보이고,
    상기 사용자 음성의 강조 정보의 종류는 상기 지정된 음성학적인 조건을 만족하는 제 1 강조 정보 또는 상기 지정된 언어학적인 조건을 만족하는 제 2 강조 정보를 포함하는, 전자장치.
  6. 제 1 항에 있어서,
    상기 사용자 음성의 강조 정보는 상기 사용자 음성의 의미 정보와 별도로 언어학적 분석 기술 또는 음향학적 분석 기술을 기반으로 확인되는, 전자장치.
  7. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하는 동작의 적어도 일부로, 상기 수신된 커맨드를 기반으로, 알람 어플리케이션을 실행하고, 지정된 시간에 상기 사용자 음성의 강조 정보에 대응하는 횟수로 상기 실행된 알람 어플리케이션에 의해 알람이 제공되도록 하도록 설정되는, 전자장치.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하는 동작의 적어도 일부로:
    상기 커맨드를 기반으로 전자장치에 설치된 복수의 어플리케이션들 중 상기 사용자 음성의 강조 정보에 대응하는 복수의 제 1 어플리케이션들을 실행하고,
    상기 실행된 복수의 제1 어플리케이션의 각각에 의해 상기 적어도 하나 이상의 동작에 대응하는 동작이 수행되도록 제어하도록 설정된, 전자장치.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하는 동작의 적어도 일부로:
    수신된 제 1 커맨드를 기반으로, 상기 전자장치의 상태 값을 사용자 음성의 강조 정보에 대응하는 지정된 제 1 값으로 설정하도록 설정된, 전자장치.
  10. 제 9 항에 있어서,
    상기 상태 값은 상기 전자장치의 적어도 하나의 오디오 볼륨 값, 상기 전자장치의 디스플레이 밝기 값, 또는 상기 전자장치의 진동 정도를 나타내는 값을 포함하는 상기 전자장치의 설정 값인, 전자장치.
  11. 제 10 항에 있어서,
    상기 적어도 하나의 프로세서는:
    지정된 기간 동안 제 1 사용자 음성을 획득하고,
    상기 서버로 상기 획득된 제 1 사용자 음성을 전달하고,
    서버로부터 적어도 하나 이상의 제 1 동작을 수행하기 위한 제 2 커맨드를 수신하고, 상기 적어도 하나 이상의 제 1 동작의 적어도 일부는 상기 사용자 음성의 강조 정보에 대응하는 상기 제 1 사용자 음성의 제 1 정보에 대응하고,
    상기 수신된 제 2 커맨드를 기반으로, 전자장치의 상태 값을 상기 제 1 사용자 음성의 제 1 정보에 대응하는 제 2 값으로 설정하도록 더 설정된, 전자장치.
  12. 제 1 항에 있어서,
    상기 서버에 의해 상기 사용자 음성의 강조 정보를 기반으로 상기 전자장치와 연관된 적어도 하나의 외부 전자장치가 확인되고,
    상기 서버에 의해 상기 적어도 하나 이상의 동작을 수행하기 위한 커맨드가 상기 적어도 하나의 외부 전자장치로 전달되고,
    상기 적어도 하나의 다른 외부 전자장치에 의해 상기 수신된 커맨드를 기반으로 상기 적어도 하나 이상의 동작이 수행되는, 전자장치.
  13. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 수신된 커맨드를 기반으로 적어도 하나 이상의 동작을 수행하는 동작의 적어도 일부로:
    상기 강조 정보에 대응하는 적어도 하나 이상의 동작 중 적어도 일부를 기반으로, 상기 전자장치에 저장된 상기 사용자 음성에 대응하는 정보를 순차적으로 출력하고,
    상기 사용자 음성에 대응하는 정보를 순차적으로 출력하는 중에 사용자 입력을 획득하고,
    상기 사용자 입력을 획득한 것에 응답하여, 상기 사용자 음성에 대응하는 정보의 출력을 중지하도록 설정된, 전자장치.
  14. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 서버로부터 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보를 수신하도록 상기 통신 모듈을 제어하도록 설정되고, 상기 적어도 하나 이상의 텍스트는 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 및 상기 사용자 음성의 강조 정보에 기반하여 확인되고,
    상기 수신된 답변 정보를 기반으로, 적어도 하나 이상의 텍스트를 출력하도록 설정된, 전자장치.
  15. 전자장치에 있어서,
    마이크;
    회로를 포함하는 통신 모듈; 및
    적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는:
    사용자 음성을 획득하도록 상기 마이크를 제어하고,
    상기 획득된 사용자 음성을 서버로 전달하도록 상기 통신 모듈을 제어하고,
    상기 서버로부터 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나 이상의 텍스트를 포함하는 답변에 대한 정보는 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 중 적어도 일부 및 상기 사용자 음성의 강조 정보(emphasis information) 중 적어도 일부에 대응하고,
    상기 수신된 답변에 대한 정보를 기반으로 지정된 방식으로 적어도 하나 이상의 텍스트를 출력하도록 설정된, 전자장치.
  16. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 수신된 답변에 대한 정보를 기반으로 지정된 방식으로 적어도 하나 이상의 텍스트를 출력하는 동작의 적어도 일부로, 상기 답변에 대한 정보를 기반으로, 상기 적어도 하나 이상의 텍스트를 상기 전자장치의 디스플레이 상에 표시하도록 설정되고,
    상기 적어도 하나 이상의 텍스트 중 상기 사용자 음성의 강조 정보에 대응하는 제 1 텍스트가 상기 표시되는 상기 적어도 하나 이상의 텍스트 중 다른 텍스트에 비해 시각적으로 강조되어 표시되는, 전자장치.
  17. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 수신된 답변에 대한 정보를 기반으로 지정된 방식으로 적어도 하나 이상의 텍스트를 출력하는 동작의 적어도 일부로, 상기 답변에 대한 정보를 기반으로 상기 적어도 하나 이상의 텍스트를 상기 전자장치의 오디오 장치를 통해 출력하도록 설정되고,
    상기 출력되는 적어도 하나 이상의 텍스트 중 상기 사용자 음성의 상기 강조 정보에 대응하는 적어도 일부는 상기 출력되는 적어도 하나 이상의 텍스트 중 다른 일부에 비하여 청각적으로 강조되어 출력되는, 전자장치.
  18. 인스트럭션들을 저장하는 메모리; 및
    적어도 하나의 프로세서;를 포함하고
    상기 인스트럭션들은, 실행 시에 상기 적어도 하나의 프로세서가:
    사용자 음성을 획득하고,
    상기 사용자 음성에 대응하는 사용자 음성의 강조 정보를 확인하고,
    상기 사용자 음성에 대응하는 사용자 음성의 의미 정보를 확인하고,
    상기 확인된 사용자 음성의 강조 정보 및 상기 확인된 사용자 음성의 의미 정보를 기반으로, 순차적으로 수행되는 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인하고,
    상기 확인된 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 전달하도록 설정된, 전자장치.
  19. 제 18 항에 있어서,
    상기 인스트럭션들은 적어도 하나의 프로세서가:
    상기 사용자 음성의 강조 정보의 적어도 일부에 대응하는 상기 사용자 음성의 의미 정보의 적어도 일부를 확인하고,
    상기 사용자 음성의 강조 정보의 적어도 일부에 기반하여 상기 확인된 사용자 음성의 의미 정보의 적어도 일부에 포함된 적어도 하나의 파라미터의 값을 설정하고,
    상기 설정된 파라미터의 값을 포함하는 적어도 일부 및 다른 일부를 포함하는 상기 사용자 음성의 의미 정보를 기반으로, 상기 적어도 하나 이상의 동작을 수행하기 위한 커맨드를 확인하도록 설정된, 전자장치.
  20. 제 18 항에 있어서,
    상기 사용자 음성의 강조 정보는 적어도 하나 이상의 음향학적 분석 기술 또는 적어도 하나 이상의 언어학적 분석 기술 중 적어도 하나를 이용하여 확인되고,
    상기 적어도 하나 이상의 음향학적 분석 기술은 상기 사용자 음성의 적어도 일부의 볼륨, 피치 또는 발음 길이 중 적어도 하나를 분석하는 기술이고,
    상기 적어도 하나 이상의 언어학적 분석 기술은 상기 사용자 음성의 특정 단어 반복, 또는 강조 부사 발화를 분석하는 기술이며,
    상기 제 1 정보는 상기 적어도 하나 이상의 음향학적 분석 기술에 따라 상기 사용자 음성으로부터 확인된 제 1 강조 정보 또는 상기 적어도 하나 이상의 언어학적 분석 기술에 따라 상기 사용자 음성으로부터 확인된 제 2 강조 정보인 것을 특징으로 하는, 전자장치.
  21. 전자장치에 있어서,
    마이크;
    회로를 포함하는 통신 모듈; 및
    적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는:
    사용자 음성을 획득하도록 상기 마이크를 제어하고,
    상기 획득된 사용자 음성을 서버로 전달하도록 상기 통신 모듈을 제어하고,
    상기 서버로부터 순차적으로 수행되는 적어도 하나의 제 1 동작을 수행하기 위한 제 1 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하고, 상기 적어도 하나의 제 1 동작은, 상기 사용자 음성으로부터 강조 정보가 확인되지 않는 경우, 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보에 대응하고,
    상기 서버로부터 순차적으로 수행되는 적어도 하나의 제 2 동작을 수행하기 위한 제 2 커맨드(command)를 수신하도록 상기 통신 모듈을 제어하도록, 상기 적어도 하나의 제 2 동작은, 상기 사용자 음성으로부터 강조 정보가 확인되는 경우, 상기 사용자 음성에 대한 분석에 따라 확인된 상기 사용자 음성의 의미 정보 및 상기 사용자 음성의 강조 정보에 대응하는, 전자장치.
KR1020190010101A 2019-01-25 2019-01-25 사용자 음성을 처리하는 전자장치 및 그 제어 방법 KR20200092763A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190010101A KR20200092763A (ko) 2019-01-25 2019-01-25 사용자 음성을 처리하는 전자장치 및 그 제어 방법
PCT/KR2020/001030 WO2020153720A1 (ko) 2019-01-25 2020-01-21 사용자 음성을 처리하는 전자장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190010101A KR20200092763A (ko) 2019-01-25 2019-01-25 사용자 음성을 처리하는 전자장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20200092763A true KR20200092763A (ko) 2020-08-04

Family

ID=71735637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190010101A KR20200092763A (ko) 2019-01-25 2019-01-25 사용자 음성을 처리하는 전자장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20200092763A (ko)
WO (1) WO2020153720A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101513615B1 (ko) * 2008-06-12 2015-04-20 엘지전자 주식회사 이동 단말기 및 그 음성 인식 방법
US10672399B2 (en) * 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
KR102017700B1 (ko) * 2013-03-15 2019-09-03 엘지전자 주식회사 단말기 및 그 제어 방법
KR102302721B1 (ko) * 2014-11-24 2021-09-15 삼성전자주식회사 복수의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
US9826306B2 (en) * 2016-02-22 2017-11-21 Sonos, Inc. Default playback device designation

Also Published As

Publication number Publication date
WO2020153720A1 (ko) 2020-07-30

Similar Documents

Publication Publication Date Title
KR102426704B1 (ko) 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
KR102371313B1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 전자 장치의 제어 방법
KR102298947B1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
KR102416782B1 (ko) 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
KR20190101630A (ko) 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
KR102365649B1 (ko) 화면 제어 방법 및 이를 지원하는 전자 장치
US11120792B2 (en) System for processing user utterance and controlling method thereof
KR20190099761A (ko) 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
KR20190006403A (ko) 음성 처리 방법 및 이를 지원하는 시스템
KR102347208B1 (ko) 외부 장치를 이용한 태스크 수행 방법 및 이를 지원하는 전자 장치, 서버 및 저장 매체
KR102440651B1 (ko) 자연어 표현 제공 방법 및 이를 지원하는 전자 장치
KR102391298B1 (ko) 음성 인식 서비스를 제공하는 전자 장치 및 그 방법
KR102361458B1 (ko) 사용자 발화 응답 방법 및 이를 지원하는 전자 장치
KR20190008663A (ko) 음성 데이터 처리 방법 및 이를 지원하는 시스템
KR102563817B1 (ko) 사용자 음성 입력 처리 방법 및 이를 지원하는 전자 장치
KR102369083B1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
KR102685523B1 (ko) 사용자 음성 입력을 처리하는 장치
KR20190109916A (ko) 전자 장치 및 상기 전자 장치로부터 수신된 데이터를 처리하는 서버
KR20190127372A (ko) 전자 장치 및 전자 장치의 기능 실행 방법
KR20190068133A (ko) 오디오 데이터에 포함된 음소 정보를 이용하여 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
KR102388539B1 (ko) 사용자 발화를 처리하는 전자 장치
KR102707293B1 (ko) 사용자 음성 입력을 처리하는 장치
KR20200099380A (ko) 음성 인식 서비스를 제공하는 방법 및 그 전자 장치
KR20190139489A (ko) 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
KR102426411B1 (ko) 사용자 발화을 처리하는 전자 장치 및 시스템