KR102558437B1 - 질의 응답 처리 방법 및 이를 지원하는 전자 장치 - Google Patents

질의 응답 처리 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR102558437B1
KR102558437B1 KR1020150167100A KR20150167100A KR102558437B1 KR 102558437 B1 KR102558437 B1 KR 102558437B1 KR 1020150167100 A KR1020150167100 A KR 1020150167100A KR 20150167100 A KR20150167100 A KR 20150167100A KR 102558437 B1 KR102558437 B1 KR 102558437B1
Authority
KR
South Korea
Prior art keywords
information
electronic device
response
answer
processor
Prior art date
Application number
KR1020150167100A
Other languages
English (en)
Other versions
KR20170061923A (ko
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 KR1020150167100A priority Critical patent/KR102558437B1/ko
Priority to CN201680068844.7A priority patent/CN108292317B/zh
Priority to PCT/KR2016/013414 priority patent/WO2017090947A1/en
Priority to EP16868843.0A priority patent/EP3332338A4/en
Priority to US15/360,050 priority patent/US10446145B2/en
Publication of KR20170061923A publication Critical patent/KR20170061923A/ko
Application granted granted Critical
Publication of KR102558437B1 publication Critical patent/KR102558437B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • G10L2013/083Special characters, e.g. punctuation marks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source

Abstract

통신 인터페이스 및 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 사용자에 대응하는 음성 신호를 획득하고, 상기 음성 신호의 상기 획득과 연관하여, 상기 사용자와 관련된 상황 정보를 확인하고, 상기 상황 정보가 제 1 지정된 조건을 만족하면, 상기 음성 신호에 대응하는 제 1 응답 정보를 결정하고, 상기 상황 정보가 제 2 지정된 조건을 만족하면, 상기 음성 신호에 대응하는 제 2 응답 정보를 결정하고 및 상기 제 1 응답 정보 및 상기 제 2 응답 정보 중 대응하는 응답 정보의 적어도 일부를, 상기 전자 장치와 기능적으로 연결된 출력 장치 또는 상기 전자 장치에 대한 외부 전자 장치로 전송하도록 설정된 전자 장치전자 장치가 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

질의 응답 처리 방법 및 이를 지원하는 전자 장치{Method For Processing of Question and answer and electronic device supporting the same}
본 문서에서 개시되는 실시 예들은, 전자 기기에서의 질의 응답 처리 방법 및 장치와 관련된다.
전자 장치는 사용자 질의 사항에 대한 응답 처리를 지원하는 QA(question and answer) 시스템을 포함할 수 있다. QA 시스템은 음성 또는 문자와 같은 명령을 사용자로부터 입력 받고, 입력 받은 사용자 명령을 인식엔진을 통해 분석할 수 있다. 그리고 QA 시스템은 사용자 명령에 맞는 검색어를 추출하고, 추출된 검색어에 해당하는 검색 내용을 출력할 수 있다.
QA 시스템은 단순히 사용자가 입력한 음성 또는 문자와 같은 명령에 대한 단답형의 답을 출력하고 있어서, 사용자의 의도에 부합되지 않는 경우가 발생할 수 있었다. 예를 들면, QA 시스템은 단순히 사용자 명령에 대한 지정된 답만을 출력하는 형태여서, 사용자가 획득하고자 하는 정보의 양이 적거나, 사용자가 획득하고자 하는 정보와의 정확도가 낮아 QA 시스템을 효율적으로 이용하는 데에 어려움이 발생할 수 있다. 또한, QA 시스템에서 제공되는 답변은 지정된 답만을 출력하기 때문에, 사용자 상황에 부합되지 않는 답들이 제공되어 QA 시스템을 실용적으로 이용하지 못할 수 있다.
본 발명의 다양한 실시 예들은 다양한 출력 방식을 기반으로 사용자가 답을 보다 쉽게 인식하고 이해할 수 있도록 하는 질의 응답 처리 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
또한, 본 발명의 다양한 실시 예들은 답 및/또는 부가 정보 중 적어도 하나를 제공함으로써 사용자가 획득하고자 하는 정보에 대한 정확도를 개선시킬 수 있는 질의 응답 처리 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
또한, 본 발명의 다양한 실시 예들은 사용자 상황에 따라 다양한 전자 장치들을 통해 답을 제공함으로써, 답을 확인할 수 있는 환경을 편리하게 할 수 있는 질의 응답 처리 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 인터페이스 및 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 사용자에 대응하는 음성 신호를 획득하고, 상기 음성 신호의 상기 획득과 연관하여, 상기 사용자와 관련된 상황 정보를 확인하고, 상기 상황 정보가 제 1 지정된 조건을 만족하면, 상기 입력 신호에 대응하는 제 1 응답 정보를 결정하고, 상기 상황 정보가 제 2 지정된 조건을 만족하면, 상기 신호에 대응하는 제 2 응답 정보를 결정하고 및 상기 제 1 응답 정보 및 상기 제 2 응답 정보 중 대응하는 응답 정보의 적어도 일부를, 상기 전자 장치와 기능적으로 연결된 출력 장치 또는 상기 전자 장치에 대한 외부 전자 장치로 전송하도록 설정될 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 사용자 질의에 대하여 적응적이며 다양한 형태의 답변 출력이 가능할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시 예에 따른 전자 장치 운용 환경을 나타낸다.
도 2는 한 실시 예에 따른 프로세서 구성의 한 예를 나타낸 도면이다.
도 3은 한 실시 예에 따른 질의 응답 처리 방법의 한 예를 나타낸 도면이다.
도 4는 한 실시 예에 따른 부가 정보 생성 방법의 한 예를 나타낸 도면이다.
도 5는 한 실시 예에 따른 부가 정보 생성 방법의 다른 예를 나타낸 도면이다.
도 6은 한 실시 예에 따른 서술형 답 출력 방법의 한 예를 나타낸 도면이다.
도 7은 한 실시 예에 따른 서술형 답 출력 방법의 다른 예를 나타낸 도면이다.
도 8은 한 실시 예에 따른 답 출력 방법의 또 다른 예를 나타낸 도면이다.
도 9는 한 실시 예에 따른 정보 출력 방법의 한 예를 나타낸 도면이다.
도 10a는 한 실시 예에 따른 질의 응답 처리 방법의 다른 예를 나타낸 도면이다.
도 10b는 한 실시 예에 따른 질의 응답 처리 방법의 또 다른 예를 나타낸 도면이다.
도 11은 한 실시 예에 따른 전자 장치의 형태를 예시한 것이다.
도 12는 한 실시 예에 따른 전자 장치의 하드웨어 블록도의 한 예를 나타낸 도면이다.
도 13은 한 실시 예에 따른 전자 장치 소프트웨어 블록도이다.
도 14는 다양한 실시 예에 따른 프로그램 모듈의 블록도의 다른 예를 나타낸다.
도 15는 한 실시 예에 따른 전자 장치의 음성 인식 및 출력을 설명하는 도면이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 와이파이 공유기, 로봇 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면 웨어러블 장치는 엑세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), Gear VR, 직물 또는 의류 일체 형(예: 전자 의복), 신체 부착 형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식 형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(Global Navigation Satellite System)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 전자 장치 운용 환경을 나타낸다.
도 1을 참조하면, 전자 장치 운용 환경(10)은, 예를 들면, 전자 장치(100) 및/또는 적어도 하나의 외부 전자 장치(200)를 포함할 수 있다. 상기 전자 장치(100)는 사용자 명령(예: 문자 또는 음성)을 수집하고, 수집된 명령어 분석에 대응하여 응답을 출력할 수 있다. 이 동작에서, 상기 전자 장치(100)는, 예를 들면, 적어도 하나의 외부 전자 장치(200)에 상기 응답 또는 응답 획득과 관련한 링크 정보(예: URL 주소 정보, 또는 SOUND QR 정보 등)를 전송할 수 있다. 상기 외부 전자 장치(200)는 상기 응답 또는 상기 링크 정보를 출력할 수 있다. 또한, 상기 외부 전자 장치(200)는 사용자 입력 또는 상기 전자 장치(100)의 제어 신호(예: 상기 링크 정보와 관련한 응답을 외부 전자 장치(200)에서 출력하도록 요청하는 신호) 수신에 대응하여 응답을 출력할 수 있다. 링크 정보 출력과 관련하여, 외부 전자 장치(200)는 내장된 통신 모듈을 기반으로 다른 기기(예: 다른 외부 전자 장치 또는 상기 응답 제공이 가능한 서버)로부터 응답을 수신하여 출력할 수 있다. 다양한 실시 예에 따르면, 상기 외부 전자 장치(200)는 사용자 음성 신호를 수집할 수 있는 오디오 장치를 포함할 수 있고, 사용자 음성 신호가 수집되면, 이를 전자 장치(100)에 전송할 수 있다.
다양한 실시 예에서의 전자 장치(100)는 프로세서(120), 메모리(130), 입력 장치(150), 통신 인터페이스(170), 출력 장치(예: 오디오 장치(110) 및/또는 디스플레이(160)), 센서(180)(예: 카메라 또는 이미지 센서), 및 버스 115를 포함할 수 있다. 추가적으로 또는 대체적으로 상기 전자 장치(100)가 지정된 형태(예: 로봇) 로 제작되는 경우 운동 모듈(190)을 더 포함할 수 있다. 또한 상기 메모리(130)는, 예를 들면, 질문 데이터베이스(131), 답변 데이터베이스(133) 또는 사용자 정보(135)를 포함할 수 있다.
버스(115)는, 예를 들면, 구성요소들(110-190)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상술한 전자 장치(100)는, 예를 들면, 상기 오디오 장치(110), 입력장치(150) 혹은 통신 인터페이스(170) 을 기반으로 사용자의 명령을 수집하고, 수집된 명령에 대한 응답을 출력할 수 있다. 이 동작에서, 전자 장치(100)는 사용자와 관련된 상황 정보를 수집하고, 수집된 상황 정보를 기반으로 출력할 응답의 종류와, 형태 및/또는 출력할 기기를 다르게 할 수 있다. 전자 장치(100)는 수집된 상황 정보를 기반으로 단답형 또는 서술형 답 중 적어도 하나를 지정된 적어도 하나의 기기(예: 상기 전자 장치(100) 또는 외부 전자 장치)를 통해 출력할 수 있다.
다양한 실시 예에 따르면, 전자 장치(100)는 질문의 속성 및/또는 답의 속성 중 적어도 하나에 따라 부가 정보를 생성하여 출력할 수 있다. 예를 들면, 전자 장치(100)는 수집된 답의 속성 또는 질문의 속성 중 적어도 하나에 대응하는 상황 정보를 수집하고, 수집된 상황 정보를 기반으로 부가 정보를 생성할 수 있다. 상기 상황 정보는 사용자 정보(135) 또는 센서 정보 중 적어도 하나를 포함할 수 있다. 이에 따라, 전자 장치(100)는 답의 속성 또는 질문의 속성 중 적어도 하나에 대응하며 메모리(130)에 저장된 사용자 정보를 선택하고, 상기 선택된 사용자 정보에 대응하는 부가 정보를 생성할 수 있다. 또는 전자 장치(100)는 답의 속성 또는 질문의 속성 중 적어도 하나와 센서(180)가 수집한 센서 정보를 기반으로 부가 정보를 생성할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(Application Programming Interface (API)), 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다. 커널, 미들웨어, 또는 API의 적어도 일부는, 운영 시스템(Operating System (OS))으로 지칭될 수 있다.
커널은, 예를 들면, 다른 프로그램들(예: 미들웨어, API, 또는 어플리케이션 프로그램)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(115), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널은 미들웨어, API, 또는 어플리케이션 프로그램에서 전자 장치(100)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어는, 예를 들면, API 또는 어플리케이션 프로그램이 커널과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.
또한, 미들웨어는 어플리케이션 프로그램으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어는 어플리케이션 프로그램 중 적어도 하나에 전자 장치(100)의 시스템 리소스(예: 버스(115), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예를 들어, 미들웨어는 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.
API는, 예를 들면, 어플리케이션이 커널 또는 미들웨어에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 메모리(130)는, 예를 들면, 전자 장치(100) 운용과 관련한 운영 체제 등을 저장할 수 있다. 또한, 상기 메모리(130)는 사용자 음성 또는 명령어 분석과 관련한 분석 프로그램을 저장할 수 있다. 한 실시 예에 따르면, 메모리(130)는 질의 응답 서비스 지원과 관련하여 질문 데이터베이스(131), 또는 답변 데이터베이스(133)를 저장할 수 있다.
상기 질문 데이터베이스(131)는 예를 들면, 다양한 단답형 질문 또는 서술형 질문에 대한 데이터들을 포함할 수 있다. 이와 관련하여, 질문 데이터베이스(131)는 적어도 하나의 단답들에 대한 질문들이 매핑된 정보들을 포함할 수 있다. 또한, 질문 데이터 베이스(131)는 적어도 하나의 서술형 답에 대한 질문들이 매핑된 정보들을 포함할 수 있다. 이와 관련하여, 질문 데이터베이스(131)는 답변 데이터베이스(133)와 매핑된 형태로 운용될 수 있다.
다양한 실시 예에 따르면, 질문 데이터베이스(131)는 질문들의 속성 정보를 포함할 수 있다. 상기 속성 정보는 대분류에 포함되는 적어도 하나의 아이템들, 대분류에 포함된 아이템들과 관련하여 하위 분류에 포함되는 적어도 하나의 아이템들을 포함할 수 있다. 예를 들면, 질문 데이터베이스(131)는 대분류로서, 경제, 정치, 스포츠, 게임, 영화, 음악, 연예, 또는 생활 등에 대한 속성 정보를 포함할 수 있다. 또한, 질문 데이터베이스(131)는 각각 대분류의 하위분류들에 대한 속성 정보를 포함할 수 있다. 하위 분류들에 대한 속성 정보는 영역별 분류에 따른 하위 분류, 종류별 분류에 따른 하위 분류들을 포함할 수 있다. 한 실시 예에 따르면, 대분류 항목에 해당하는 경제는 집안 경제, 지역 경제, 또는 나라 경제 등의 영역별 하위 분류를 포함할 수 있다. 또는, 대분류 항목에 해당하는 경제는 자동차, 부동산, 현금, 또는 채권 등의 종류별 하위 분류를 포함할 수 있다. 다양한 실시 예에 따르면, 대분류인 생활의 하위 분류는 음식, 운동, 공부, 여가, 또는 건강 등을 포함할 수 있다. 상술한 대분류 또는 하위 분류 등으로 구분되는 속성 정보는 시스템 설계 방식이나 정책 등에 따라 분류 형태가 달라질 수 있다. 상술한 질문 데이터베이스(131)에 저장된 속성 정보는, 예를 들면, 사용자 음성 분석에 의해 분석된 질문의 속성을 결정짓는데 이용될 수 있다.
상기 답변 데이터베이스(133)는, 예를 들면, 적어도 하나의 질문에 대한 단답형 및/또는 서술형 답을 포함할 수 있다. 답변 데이터베이스(133)는 질문 데이터베이스(131)에 저장된 적어도 하나의 질문들에 매핑되는 단답형 또는 적어도 하나의 질문들에 매핑되는 서술형 답들을 포함할 수 있다. 또한, 답변 데이터베이스(133)는 상기 단답형 또는 서술형 답들에 대한 속성 정보를 포함할 수 있다. 상기 단답형 또는 서술형 답들은 상기 질문 데이터베이스(131)에서 설명한 분류들에 대한 속성 정보와 유사한 정보들을 포함할 수 있다. 다양한 실시 예에 따르면, 답/질문의 속성 정보는 응답의 길이, 특수문자 포함 여부, 카테고리, 또는 그 조합을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 서술형 답은 예를 들면, 시계열적 답 또는 일정 길이 이상의 비시계열적 답을 포함할 수 있다. 시계열적 답은 적어도 하나의 단계들로 구분되는 답들을 포함할 수 있다. 시계열적 답과 관련하여, 답변 데이터베이스(133)는 조건 정보를 포함할 수 있다. 상기 조건 정보는 상기 시계열적 답들에서 다음 단계의 답이 출력되기 위한 조건들을 포함할 수 있다. 한 실시 예에 따르면, 상기 조건 정보는 센서 정보 또는 음성 정보를 포함할 수 있다.
또한, 상기 메모리(130)는, 예를 들면, 사용자 정보(135)를 저장할 수 있다. 상기 사용자 정보(135)는 사용자의 나이, 결혼 여부, 직장, 직위, 키, 몸무게, 자녀, 기호 식품, 취미, 특기 등에 관한 정보 및/또는 사용자의 건강 정보 등을 포함할 수 있다. 상술한 사용자 정보(135)는 사용자가 입력하는 정보일 수 있다. 또는, 사용자의 건강 정보 등은 센서(180)가 수집한 생체 정보를 토대로 산출된 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 메모리(130)는 센서(180)가 수집하는 센서 정보를 저장할 수 있다. 저장된 센서 정보는 사용자 행동이나 형태, 또는 사용자의 주변 환경 등과 관련한 적어도 하나의 정보를 포함할 수 있다. 상기 센서 정보는 사용자 얼굴 식별 정보, 사용자의 동작 정보, 사용자의 키 정보, 사용자가 파지한 물건에 대한 정보, 사용자가 입고 있거나 차고 있는 물건의 정보, 사용자 주변에 위치한 물건 정보, 온도, 습도, 날씨, 또는 사용자가 위치한 지점(예: 집, 사무실 등의 정보, 집의 거실, 목욕탕, 주방 등의 정보) 정보 등을 수집하는데 이용될 수 있다.
상기 입력 장치(150)는, 예를 들면, 전자 장치(100)에 사용자 입력 신호를 생성할 수 있는 적어도 하나의 장치를 포함할 수 있다. 상기 입력 장치(150)는 적어도 하나의 버튼, 조이스틱, 터치 패드, 터치 패널, 키보드 등을 포함할 수 있다. 상기 입력 장치(150)는 상기 전자 장치(100)의 턴-온 또는 턴-오프와 관련한 입력 신호, 질의 응답 서비스 활성화 또는 비활성화를 위한 입력 신호 등을 사용자 입력에 대응하여 생성할 수 있다. 다양한 실시 예에 따르면, 상기 입력 장치(150)는 응답 또는 링크 정보를 출력하기 위한 외부 전자 장치 선택 신호를 사용자 입력에 대응하여 생성할 수 있다. 이와 관련하여, 전자 장치(100)는 외부 전자 장치(200) 검색 및/또는 리스트 출력 기능을 지원할 수 있다.
상기 오디오 장치(110)는 예를 들면, 적어도 하나의 마이크, 또는 적어도 하나의 스피커를 포함할 수 있다. 상기 마이크는 사용자의 음성 수집에 이용될 수 있다. 상기 마이크는 전원이 공급되는 동안 항상 턴-온 상태(always-on state)를 가질 수 있다. 또는, 상기 마이크는 센서 정보 분석에 따라, 사용자가 일정 거리 이내에 접근하는 경우 활성화될 수 있다. 상기 스피커는 상기 응답에 대응하는 오디오 정보 출력에 이용될 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(Liquid Crystal Display (LCD)), 발광 다이오드(Light-Emitting Diode (LED)) 디스플레이, 유기 발광 다이오드(Organic LED (OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자 종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
상기 디스플레이(160)는, 예를 들면, 전자 장치(100) 운용과 관련한 정보를 출력할 수 있다. 한 실시 예에 따르면, 상기 디스플레이(160)는 전자 장치(100) 운용과 관련한 적어도 하나의 메뉴 항목 등을 출력할 수 있다. 또는, 상기 디스플레이(160)는 검색된 적어도 하나의 외부 전자 장치(200) 목록을 출력할 수 있다. 또한, 디스플레이(160)는 응답 또는 링크 정보를 외부 전자 장치(200)에 전송하는 화면 등을 출력할 수 있다.
통신 인터페이스(170)는, 예를 들면, 전자 장치(100)와 외부 장치(200) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치(예: 외부 전자 장치(200) 또는 서버)와 통신할 수 있다.
무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE(Long-Term Evolution), LTE-A(LTE-Advanced), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), UMTS(Universal Mobile Telecommunications System), TDMA(Time Division Multiple Access), FDMA(Frequency Division Multiple Access), OFDMA(Orthogonal FDMA), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 중 적어도 하나를 사용할 수 있다. 또한 무선 통신은, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신(1064)는, 예를 들면, Wi-Fi(Wireless Fidelity), Bluetooth, NFC(Near Field Communication), MST(magnetic stripe transmission), RFID, 지그비, 또는 GNSS 중 적어도 하나를 포함할 수 있다.
MST는 전자기 신호를 이용하여 전송 데이터에 따라 펄스를 생성하고, 상기 펄스는 자기장 신호를 발생시킬 수 있다. 전자 장치(100)는 상기 자기장 신호를 POS(point of sales)에 전송하고, POS는 MST 리더(MST reader)를 이용하여 상기 자기장 신호는 검출하고, 검출된 자기장 신호를 전기 신호로 변환함으로써 상기 데이터를 복원할 수 있다.
GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo(the European global satellite-based navigation system) 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard(1132)), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(1062)는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
상기 통신 인터페이스(170)는, 예를 들면, 전자 장치(100)의 통신 기능을 지원할 수 있다. 통신 인터페이스(170)는 사용자로부터 통신 인터페이스를 이용하여 명령어를 입력 받거나, 혹은 적어도 하나의 외부 전자 장치(200)를 검색과 관련한 스캔 기능, 선택된 적어도 하나의 외부 전자 장치(200)와 통신 채널을 형성하는 기능, 응답 또는 링크 정보를 외부 전자 장치(200)에 전송하는 기능 등을 지원할 수 있다. 다양한 실시 예에 따르면, 상기 통신 인터페이스(170)는 외부 전자 장치(200)가 수집한 사용자 음성 신호 혹은 명령어를 수신할 수도 있다.
상술한 기능 지원과 관련하여, 통신 인터페이스(170)는 적어도 하나의 외부 전자 장치(200)와 근거리로 통신 채널을 형성할 수 있는 근거리 무선 통신 모듈을 포함할 수 있다. 다양한 실시 예에 따르면, 통신 인터페이스(170)는 음성 분석 정보를 서버에 전송하고, 서버로부터 음성 분석 정보에 대응하는 응답을 수신하는 기능을 지원할 수 있다. 또는, 통신 인터페이스(170)는 외부 전자 장치(200)에 음성 명령을 전달하고, 외부 전자 장치(200)로부터 전달한 음성 명령에 대응하는 답을 수신할 수 있다. 상술한 기능 지원과 관련하여, 통신 인터페이스(170)는 이동통신 모듈 또는 인터넷 통신을 지원하는 통신 모듈 등을 포함할 수 있다.
상기 센서(180)는, 예를 들면, 사용자 관련 다양한 센서 정보를 수집할 수 있다. 센서(180)는 이미지 센서, 근접 센서, 촉각 센서, 조도 센서, 온도 센서, 습도 센서, 생체 센서, 가속도 센서, 지자기 센서 등을 포함할 수 있다. 한 실시 예에 따르면, 상기 센서(180)는 사용자의 얼굴이나 동공 또는 몸체에 관한 이미지 정보, 사용자가 소지한 옷이나 가방 또는 파지한 물건에 대한 이미지 정보, 사용자의 동작 정보, 거리 정보, 주변의 온도 정보, 습도 정보, 또는 위치 정보 중 적어도 하나를 수집할 수 있다. 상기 센서(180)가 수집한 정보 들은 상황 정보 확인에 이용될 수 있다.
상기 운동 모듈(190)은, 예를 들면, 전자 장치(100)가 이동이 필요한 지정된 형태(예: 로봇) 인 경우 포함될 수 있다. 상기 운동 모듈(190)은 전자 장치(100)의 적어도 일부를 일정 방향으로 직선 운동 또는 곡선 운동을 할 수 있도록 마련될 수 있다. 이러한 운동 모듈(190)은 적어도 하나의 기어와 축, 밸트, 또는 바퀴 등을 포함할 수 있다.
상기 프로세서(120)는, 중앙처리장치(Central Processing Unit (CPU)), 어플리케이션 프로세서(Application Processor (AP)), 또는 커뮤니케이션 프로세서(Communication Processor (CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 상술한 프로세서(120)는 사용자 명령을 분석하고, 분석 데이터를 기반으로 답 및 답과 관련하여 생성된 부가 정보 중 적어도 하나를 출력할 수 있다.
다양한 실시예에 따르면, 프로세서(120), 메모리(130), 입력 장치(150), 통신 인터페이스(170), 출력 장치(예: 오디오 장치(110) 및/또는 디스플레이(160)), 센서(180), 또는 운동 모듈(190)의 모든 구성요소들이 하나의 전자 장치(100)에 포함되는 구성으로 도시되어 있지만, 다양한 실시예들은 이에 한정되지 않는다. 예를 들면, 전자 장치(100)의 역할, 기능, 또는 성능에 따라, 프로세서(120), 메모리(130), 입력 장치(150), 통신 인터페이스(170), 출력 장치(예: 오디오 장치(110) 및/또는 디스플레이(160)), 센서(180), 또는 운동 모듈(190)의 구성요소 중 적어도 일부는 전자 장치(100) 및 외부 전자 장치(200)에 분산되어 구현될 수 있다.
상기 전자 장치(100) 및 외부 전자 장치(200)는 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 상술한 서버는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치(100)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(200), 또는 서버)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치(100)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(100)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 전자 장치(예: 전자 장치(200) 또는 서버)에게 요청할 수 있다. 다른 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(100)로 전달할 수 있다. 전자 장치(100)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 한 실시 예에 따른 프로세서 구성의 한 예를 나타낸 도면이다.
도 2를 참조하면, 한 실시 예에 따른 프로세서(120)는 질문 처리 모듈(121), 부가 정보 생성 모듈(123), 출력 모듈(125), 및 운동 제어 모듈(127)을 포함할 수 있다. 어떤 실시예에서는, 프로세서(120)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다.
상기 질문 처리 모듈(121)은, 예를 들면, 오디오 장치(110) 또는 통신 인터페이스(170)를 통하여 사용자 명령 신호를 수집할 수 있다. 이와 관련하여, 질문 처리 모듈(121)은 오디오 장치(110)의 활성화 또는 비활성화 시점을 제어할 수 있다. 또는, 질문 처리 모듈(121)은 외부 전자 장치(200)로부터 사용자 명령 신호 전달 요청을 수신하면, 사용자 명령 신호를 수신하고 이를 분석할 수 있다. 상기 질문 처리 모듈(121)은 수집된 명령 신호에 대한 명령어 인식을 수행하여 텍스트로 변환할 수 있다. 질문 처리 모듈(121)은 변환된 텍스트에서 주요 단어들을 추출하고, 추출된 단어들 및 조사 등을 분석하여 질문과 관련한 응답을 추출할 수 있다. 이와 관련하여, 질문 처리 모듈(121)은 질문 데이터베이스(131) 및/또는 답변 데이터베이스(133)를 이용할 수 있다.
다양한 실시 예에 따르면, 상기 질문 처리 모듈(121)은 통신 인터페이스(130)를 통하여 텍스트 형태로 들어온 질문의 경우는 텍스트 변환을 생략할 수 있다. 한 실시 예에 따르면, 외부 전자 장치(200)는 사용자 음성 신호를 수집하여 텍스트로 변환한 후 전자 장치(100)에 전송할 수 있다. 예를 들면, 외부 전자 장치(200)는 마이크가 수집하는 오디오 신호의 노이즈 크기를 확인할 수 있다. 노이즈 크기가 지정된 크기 이상인 경우, 외부 전자 장치(200)는 획득된 오디오 정보의 노이즈 필터링 및 텍스트 변환을 처리하여 전자 장치(100)에 전송할 수 있다.
다양한 실시 예에 따르면, 질문 처리 모듈(121)은 수집된 오디오 정보에서의 노이즈 크기를 확인할 수 있다. 질문 처리 모듈(121)은 노이즈 크기가 일정 크기 이상인 경우 텍스트 입력을 요청하는 사용자 인터페이스를 출력할 수 있다. 또는 질문 처리 모듈(121)은 수집되는 음성 신호의 발화 지점과 전자 장치(100)와의 거리가 지정된 이격 거리를 수집할 수 있다. 질문 처리 모듈(121)은 상기 이격 거리가 지정된 거리 이상인 경우 텍스트 입력을 요청하는 사용자 인터페이스를 출력할 수 있다. 다양한 실시 예에 따르면, 질문 처리 모듈(121)은 저장된 사용자 정보를 확인하여, 자동으로 텍스트 입력과 관련한 사용자 인터페이스를 출력할 수 있다. 예를 들면, 질문 처리 모듈(121)은 통신 채널을 형성하는 외부 전자 장치(200)의 사용자 정보를 획득할 수 있다. 질문 처리 모듈(121)은 외부 전자 장치(200)의 사용자 정보 중 음성 명령이 불가능한 사용자인 경우, 자동으로 텍스트 입력과 관련한 사용자 인터페이스를 출력할 수 있다.다양한 실시 예에 따르면, 질문 처리 모듈(121)은 질문 데이터베이스(131) 및/또는 답변 데이터베이스(133)를 이용하여 질문의 속성 정보 및/또는 답변의 속성 정보 중 적어도 하나를 결정할 수 있다. 다양한 실시 예에 따르면, 질문 처리 모듈(121)은 분석된 질문에 대응하는 데이터가 질문 데이터베이스(131) 및/또는 답변 데이터베이스(133)에 없는 경우 서버에 전송하고, 그에 대응하는 응답 정보 또는 링크 정보 또는 서버의 주소 정보, 또는 서버에 저장된 저장 위치 정보를 수집할 수 있다. 또는 질문 처리 모듈(121)은 분석된 질문에 대응하는 답이 저장된 전자 장치(100)의 주소 정보 또는 링크 정보를 수집할 수 있다.
상기 질문 처리 모듈(121)은 센서(180)의 활성화를 제어할 수 있다. 예를 들면, 질문 처리 모듈(121)은 사용자 명령 신호가 수집되면, 센서(180)를 활성화하여, 상황 정보를 수집할 수 있다. 한 실시 예에 따르면, 질문 처리 모듈(121)은 사용자 얼굴 인식 정보, 거리 정보, 사용자의 얼굴이 주시하는 방향 정보, 또는 사용자가 위치한 위치 정보 등을 수집할 수 있다.
상기 부가 정보 생성 모듈(123)은, 예를 들면, 획득된 답 또는 질문과 관련한 속성 정보를 토대로 부가 정보를 생성할 수 있다. 부가 정보 생성 모듈(123)은 획득된 답의 분류(또는 카테고리)에 속하는 다른 정보를 수집할 수 있다. 답의 속성 정보가 돈에 관한 것이면, 부가 정보 생성 모듈(123)은 경제 분류에 속하는 다른 답 예를 들면, 주식 시황이나 부동산 시황 등에 대한 정보를 부가 정보로 생성할 수 있다. 답의 속성 정보가 음식에 관한 것이면, 부가 정보 생성 모듈(123)은 답으로 검색된 음식과 관련한 다른 종류의 음식 또는 검색된 음식의 특성 등을 부가 정보로 생성할 수 있다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 속성 정보와 상황 정보를 기반으로 지정된 조건에 대응하는 부가 정보를 생성할 수 있다. 예를 들면, 부가 정보 생성 모듈(123)은 길이와 관련한 답이 검색되면, 상황 정보 중 사용자의 키 정보를 획득하고, 획득된 키 정보와 상기 길이 간의 상관 관계에 대한 부가 정보를 생성할 수 있다. 한 실시 예에 따르면, 질문이 에베레스트 산의 높이이고, 답이 8848m인 경우, 부가 정보 생성 모듈(123)은 사용자 키 높이와 에베레스트 산 높이와의 관계(예: 비율)를 부가 정보로 생성할 수 있다. 상기 사용자 키 높이는 사전 입력된 사용자 정보에서 획득되거나 센서(180)(예: 이미지 센서)가 촬영한 사용자의 이미지 분석을 통해 획득될 수 있다.
다양한 실시 예에 따르면, 특정 인물에 관한 질문의 답으로 특정 인물의 이름이 검색되면, 부가 정보 생성 모듈(123)은 해당 인물과 사용자와의 관계(예: 동일 성을 가진 인물, 또는 동일 학교 출신 등)에 대한 정보를 부가 정보로 생성할 수 있다. 이 동작에서, 부가 정보 생성 모듈(123)은 동일한 성 또는 동일한 학교 출신의 다수의 인물이 검색되는 경우, 일정 이상 지명도를 가진 인물을 선별하고, 선별된 인물에 관한 인물 정보를 수집하여 부가 정보로 생성할 수 있다. 예를 들면, 부가 정보 생성 모듈(123)은 인물의 이름을 서버에 전송하고, 서버에서 해당 이름으로 검색되는 인물들 중 일정 검색 횟수 이상 검색된 인물에 대한 인물 정보를 부가 정보로 생성할 수 있다.
다양한 실시 예에 따르면, 특정 전자 기기에 관한 질문의 답으로 전자 기기의 이름이 검색되면, 부가 정보 생성 모듈(123)은 검색된 전자 기기와 사용자가 소유한 전자 기기 간의 관계(예: 연동 여부, 버전 정보 등)를 부가 정보로 생성할 수 있다. 또는, 부가 정보 생성 모듈(123)은 검색된 전자 기기의 사용 방법을 부가 정보로 생성할 수 있다. 또는, 부가 정보 생성 모듈(123)은 검색된 전자 기기의 가격 정보, 크기 정보 등을 기반으로 부가 정보로 생성할 수 있다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 답변 히스토리를 기반으로 부가 정보를 생성할 수 있다. 예를 들면, 부가 정보 생성 모듈(123)은 질의되었던 질문들 및 해당 질문들에 대한 답들을 히스토리로 관리할 수 있다. 한 실시 예에 따르면, 전자 장치(100)는 메모리(130)에 저장된 전자책 읽기 기능을 지원할 수 있다. 이때, 전자 장치(100)는 어떠한 전자책을 언제 읽었는지에 대한 데이터를 저장 관리할 수 있다. 새로운 책 읽기 요청이 발생하면, 부가 정보 생성 모듈(123)은 이전 읽었던 책들 중 새로운 책 내에 포함된 단어와 관련한 설명이나 그림 또는 오디오 정보 등을 부가 정보로 생성할 수 있다. 예를 들어, 부가 정보 생성 모듈(123)은 새 책에 나온 특정 단어와 관련되며 이전 읽은 이력을 가진 책에 포함된 이미지를 부가 정보로 생성할 수 있다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 답변 히스토리와 관련하여, 사용자별로 구분하여 저장 관리할 수 있다. 예를 들어, 부가 정보 생성 모듈(123)은 가족 구성원별 사용자 정보(예: 각 사용자별 신상 정보와, 화자 구분이 가능한 오디오 특징 정보, 기호 정보, 각 사용자별로 운용 중인 전자 기기 정보 등)를 수집할 수 있다. 부가 정보 생성 모듈(123)은 각 사용자별로 질의한 질문들 및 해당 질문들에 대한 답변을 제공하면서, 답변 히스토리를 사용자별로 구분하여 저장 관리할 수 있다.
상기 부가 정보 생성 모듈(123)은 특정 사용자의 질문에 대한 답변 선택 시, 해당 사용자의 등급(또는 관계, 위치 등)에 따라 부가 정보를 다르게 생성할 수 있다. 예를 들어, 부가 정보 생성 모듈(123)은 가족 구성원 중 아버지나 어머니의 질문 및 답변에 대한 부가 정보와, 아들 또는 딸의 질문 및 답변에 대한 부가 정보를 다르게 생성하여 출력할 수 있다. 한 실시 예에 따르면, 취학 아동이 내일 일정에 관해서 질의하는 경우, 답변은 등교가 될 수 있으며, 부가 정보 생성 모듈(123)은 수업계획표를 부가 정보로 생성할 수 있다. 취학 아동을 가진 어머니가 내일 일정에 관해서 질의하는 경우, 답변은 취학 아동의 답변과 동일한 등교가 될 수 있으며, 부가 정보 생성 모듈(123)은 취학 아동의 수업 계획표 및 교통지도와 관련한 계획표를 포함하는 부가 정보를 생성할 수 있다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 운동과 관련한 부가 정보 생성 시, 사용자 정보에 따라 차별화된 정보를 제공할 수 있다. 또는, 부가 정보 생성 모듈(123)은 사용자 정보에 따라, 수행할 운동의 형태 또는 운동량의 목표를 다르게 설정한 부가 정보를 생성할 수 있다. 예를 들어, 전자 장치(100)는 요가 자세에 관한 질의 사항이 발생하면, 다양한 요가 자세에 관한 답변(예: 텍스트, 오디오, 이미지 정보 중 적어도 하나)를 출력할 수 있다. 부가 정보 생성 모듈(123)은 사용자 정보를 기반으로 상대적으로 쉬운 요가 자세 또는 상대적으로 어려운 요가 자세를 부가 정보로서 제공할 수 있다. 또는, 부가 정보 생성 모듈(123)은 사용자별 운동 이력, 평소 운동량 등에 따라 서로 다른 요가 자세를 부가 정보로서 제공할 수 있다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 운동과 관련한 부가 정보 생성 시, 답변 히스토리를 기반으로 부가 정보를 생성할 수 있다. 예를 들면, 부가 정보 생성 모듈(123)은 새로운 운동 수행 시, 이전 수행되었던 운동 이력(예: 답변 히스토리를 통해 획득)을 확인하고, 유사한 운동 자세나 동작을 새 운동 자세 또는 동작과 관련하여 참조하도록 부가 정보를 생성할 수 있다. 이와 관련하여, 부가 정보 생성 모듈(123)은 새 운동 자세 또는 동작 등에 대한 특징점을 추출하고, 이전 운동 자세 또는 동작과 비교하여 지정된 크기 이상의 매칭율을 가지는 운동 자세 또는 동작에 대한 이력을 검색할 수 있다. 부가 정보 생성 모듈(123)은 검색된 정보가 복수개인 경우, 매칭율이 높은 운동 자세 또는 동작을 우선 제공하거나, 검색된 정보 전체를 멀티뷰 형태로 제공할 수도 있다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 운동 정보와 관련하여 단계별로 부가 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 운동에 관한 질문이 발생하면, 다양한 운동 타입과 관련한 텍스트 설명 또는 이미지 등을 답변으로 출력할 수 있다. 부가 정보 생성 모듈(123)은 다양한 타입의 운동(예: 팔굽혀 펴기, 윗몸 일으키기, 턱걸이 등) 정보를 제공할 때, 사용자 정보(예: 사용자의 신체 조건, 평소 운동량 등)를 기반으로, 상대적으로 쉬운 또는 어려운 타입의 운동 또는 운동량을 부가 정보로 생성하여 제공할 수 있다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 사용자가 주로 사용한 표현들을 기반으로 어록을 구성하고, 이를 기반으로 부가 정보를 생성할 수 있다. 예를 들어, 부가 정보 생성 모듈(123)은 부가 정보가 생성되면, 부가 정보에 포함된 단어들 중 동일한 의미를 가진 단어들을 사용자 어록에 포함된 단어로 대체할 수 있다. 이에 따라, 부가 정보 생성 모듈(123)은 사용자에게 보다 익숙한 단어나 표현들로 정보를 설명할 수 있도록 지원한다.
다양한 실시 예에 따르면, 부가 정보 생성 모듈(123)은 부가 정보 생성과 관련한 정보 참조 시, 적어도 하나의 외부 전자 장치에 저장된 데이터베이스를 이용할 수 있다. 예를 들어, 부가 정보 생성 모듈(123)은 부가 정보 생성과 관련한 단어(또는 문장) 등이 검색되면, 해당 단어를 적어도 하나의 외부 전자 장치에 전송하고, 외부 전자 장치로부터 해당 단어와 관련한 정보를 수집할 수 있다. 또는, 부가 정보 생성 모듈(123)은 질문 또는 답변과 관련한 속성 정보를 외부 전자 장치에 전송하고, 외부 전자 장치에 저장된 정보들 중 속성 정보에 대응하는 정보를 수집할 수 있다. 또는, 부가 정보 생성 모듈(123)은 질문 또는 답의 속성 정보를 기반으로 지정된 외부 전자 장치를 선택하고, 선택된 외부 전자 장치의 데이터베이스를 공유할 수 있다. 예를 들어, 부가 정보 생성 모듈(123)은 냉장고, 세탁기, 전자레인지, TV, 오디오 장치, 프로젝터, 데스크톱 컴퓨터 등 통신 채널을 통해 연결된 또는 연결 가능한 외부 전자 장치 중 적어도 하나의 전자 장치의 메모리에 저장된 데이터베이스를 공유할 수 있다. 이와 관련하여, 전자 장치(100)는 속성 정보별 적어도 하나의 외부 전자 장치를 매핑한 매핑 리스트를 저장 관리할 수 있다. 부가 정보 생성 모듈(123)은 수집된 정보들 또는 공유된 데이터베이스를 기반으로 부가 정보를 생성할 수 있다. 상기 출력 모듈(125)은, 예를 들면, 질문에 대한 답을 지정된 기기(예: 전자 장치(100) 또는 외부 전자 장치(200))로 출력하도록 제어할 수 있다. 출력 모듈(125)은 검색된 답을 음성 신호로 변환하고, 변환된 음성 신호를 오디오 장치(110)를 통해 출력할 수 있다. 또는, 출력 모듈(125)은 검색된 답을 외부 전자 장치(200)의 오디오 장치를 통해 출력할 수 있다. 한 실시 예에 따르면, 출력 모듈(125)은 사용자가 배치된 위치를 기준으로 일정 거리 이내에 외부 전자 장치(200)가 존재하면, 해당 외부 전자 장치(200)를 통하여 답이 출력되도록 제어할 수 있다. 상기 출력 모듈(125)은 답 출력 시, 지정된 복수의 기기(예: 전자 장치(100) 및 적어도 하나의 외부 전자 장치(200))에 답을 출력(예: 오디오 정보 또는 화면 정보로 출력)할 수 있다.
다양한 실시 예에 따르면, 출력 모듈(125)은 질문에 대한 답의 특성에 따라, 출력되는 답의 형태로 다르게 할 수 있다. 예를 들면, 출력 모듈(125)은 검색된 답이 단답형 인 경우, 답을 음성 신호 형태로 변환하고, 변환된 음성 신호를 오디오 장치(110)를 통해 출력할 수 있다. 출력 모듈(125)은 검색된 답이 서술형 답인 경우, 해당 답을 음성 신호 형태로 변환하여 출력하면서, 화면 정보로도 답을 출력할 수 있다. 또한, 출력 모듈(125)은 질문에 대한 답의 특성에 따라, 지정된 조건 만족 여부를 확인하고, 지정된 조건 만족 시, 해당 답을 지정된 기기(예: 외부 전자 장치(200))에 출력할 수 있다. 예를 들면, 출력 모듈(125)은 시계열적 답변이 검색되면, 일부 답변을 출력하고, 지정된 조건(예: 지정된 상황 정보가 획득되는 조건)이 만족되면, 다음 답변들을 출력할 수 있다.
다양한 실시 예에 따르면, 출력 모듈(125)은 이미지 또는 수식 등이 포함된 답변이 검색되면, 화면 정보로 출력(예: 전자 장치(100) 또는 적어도 하나의 외부 전자 장치(200))에 출력할 수 있다. 이때, 출력 모듈(125)은 답이 화면 정보로 출력됨을 안내하는 오디오 정보를 출력할 수 있다. 또는, 출력 모듈(125)은 답이 어떠한 기기(예: 특정 외부 전자 장치(200))로 출력되는지를 안내하는 오디오 정보를 출력할 수 있다.
다양한 실시 예에 따르면, 상기 출력 모듈(125)은 모니터링 결과에 따라, 출력 재시도를 수행할 수 있다. 예를 들어, 출력 모듈(125)은 마이크를 통해 수집된 오디오 정보를 분석하여, 지정된 형태의 오디오 정보가 수집되는지 확인할 수 있다. 출력 모듈(125)은 지정된 형태의 오디오 정보가 수집되지 않으면서, 지정된 시간이 경과하는 경우 이전 출력한 정보를 다시 출력할 수 있다. 한 실시 예에 따르면, 출력 모듈(125)은 지정된 노래를 일정 구간으로 구분하여 출력할 수 있다. 출력 모듈(125)은 제1 구간 출력 후, 사용자가 발화한 오디오 정보를 수집하여 지정된 형태와 일치하는 경우, 다음 제2 구간을 출력할 수 있다. 다양한 실시 예에 따르면, 출력 모듈(125)은 사용자 정보별로 수집된 오디오 정보에 대한 비교 기준을 다르게 적용할 수 있다. 예를 들어, 출력 모듈(125)은 사용자의 노래 경력, 또는 이전 노래 부르기 이력(예: 노래별 점수이력) 등을 기반으로 상기 지정된 형태의 조건을 다르게 적용할 수 있다. 출력 모듈(125)은 사용자의 노래 경력 또는 이전 노래 부르기 이력이 상대적으로 적은 경우, 상대적으로 낮은(또는 약한) 조건을 제공할 수 있다. 이를 기반으로, 출력 모듈(125)은 사용자가 상대적으로 노래를 잘하지 못하더라도(예: 박자나 음의 고저 등의 틀린 횟수가 상대적으로 많음) 현재 구간을 통과시키고, 다음 구간을 출력할 수 있다.
다양한 실시 예에 따르면, 전자 장치(100)(예: 프로세서(120)의 질문 처리 모듈(121))는 조립 블록을 이용한 놀이와 관련하여 질문을 받고, 그에 대응하여 단계별 조립 방법을 답으로 획득할 수 있다. 출력 모듈(125)는 조립 블록의 조립 형태에 대한 이미지 분석을 수행하고, 분석된 이미지를 기반으로 현재 어떠한 조립 단계인지 판단할 수 있다. 출력 모듈(125)는 조립 단계별로 다음 단계에 대한 조립 설명(예: 필요한 블록의 형태와 개수, 블록이 배치되어야 할 위치 등에 대한 설명)을 출력할 수 있다.
다양한 실시 예에 따르면, 상기 출력 모듈(125)은 수집된 음성 명령에 따라 사용자별 구분을 수행할 수 있다. 출력 모듈(125)은 사용자별로 출력할 정보의 음색, 톤, 빠르기 등을 다르게 출력할 수 있다. 예를 들어, 출력 모듈(125)은 사용자가 어린이인 경우, 상대적으로 중후한 톤의 음성 또는 상대적으로 느린 속도로 답 또는 부가 정보 출력을 수행할 수 있다.
다양한 실시 예에 따르면, 출력 모듈(125)은 질문을 입력한 사용자에 따라 답변 또는 부가 정보를 출력할 외부 전자 장치의 종류를 다르게 할 수 있다. 예를 들어, 출력 모듈(125)은 답변 또는 부가 정보를 질문한 사용자가 사용하는 전자 장치에 전달할 수 있다. 이와 관련하여, 출력 모듈(125)은 연결된 사용자 전자 장치를 검색하거나, 또는 사용자와 관련하여 등록된 전자 장치와 통신 채널 연결(예: 페어링 수행)을 수행할 수 있다. 상기 출력 모듈(125)은 질문한 사용자와 관련하여 복수의 전자 장치가 등록된 경우, 웨어러블 기기로 등록된 전자 장치에 답변 또는 부가 정보를 전달할 수 있다.
다양한 실시 예에 따르면, 출력 모듈(125)은 연결된 전자 장치의 메모리에서 사용자 정보 또는 부가 정보 생성에 이용되는 정보들을 수집할 수 있다. 상기 출력 모듈(125)은 음성 기반으로 답 또는 부가 정보를 출력하되, 이미지나 수식과 같은 정보가 포함된 경우, 사용자와 관련한 전자 장치에 해당 답을 전달할 수 있다.
상기 운동 제어 모듈(127)은, 예를 들면, 전자 장치(100)의 운동 기능을 제어할 수 있다. 운동 제어 모듈(127)은 복수의 마이크들을 기반으로 사용자의 음성 신호가 수집되는 방향이 검출되면, 전자 장치(100)의 얼굴(예: 디스플레이 배치 영역 또는 센서(180)(예: 카메라 또는 이미지 센서)가 배치된 영역)이 사용자 음성 신호가 수집되는 방향을 바라보도록 제어할 수 있다. 또한, 운동 제어 모듈(127)은 사용자의 음성 신호가 일정 크기 이하인 경우, 사용자 음성 신호가 발화된 지점으로 전자 장치(100)가 이동되도록 제어할 수 있다. 또한, 운동 제어 모듈(127)은 사용자의 활동 상태를 촬영하기 위하여, 사용자를 중심으로 일정 형태로 이동할 수 있다. 운동 제어 모듈(127)은 다양한 각도에서 수집된 복수의 이미지들을 기반으로, 지정된 조건의 이미지가 촬영될 수 있는 위치로 이동할 수 있다.
다양한 실시예에 따르면, 질문 처리 모듈(121), 부가 정보 생성 모듈(123), 출력 모듈(125), 및 운동 제어 모듈(127)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 질문 처리 모듈(121), 부가 정보 생성 모듈(123), 출력 모듈(125), 및 운동 제어 모듈(127)의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서(120))에 의해 구현(implement)(예: 실행)될 수 있다. 질문 처리 모듈(121), 부가 정보 생성 모듈(123), 출력 모듈(125), 및 운동 제어 모듈(127)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상술한 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 통신 인터페이스 및 프로세서를 포함하고, 상기 프로세서는 상기 전자 장치의 사용자에 대응하는 입력 신호를 획득하고, 상기 입력 신호의 상기 획득과 연관하여, 상기 사용자와 관련된 상황 정보를 확인하고, 상기 상황 정보가 제 1 지정된 조건을 만족하면, 명령 신호에 대응하는 제 1 응답 정보를 결정하고, 상기 상황 정보가 제 2 지정된 조건을 만족하면, 상기 명령 신호에 대응하는 제 2 응답 정보를 결정하고 및 상기 제 1 응답 정보 및 상기 제 2 응답 정보 중 대응하는 응답 정보의 적어도 일부를, 상기 전자 장치와 기능적으로 연결된 출력 장치 또는 상기 전자 장치에 대한 외부 전자 장치로 전송하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치는 마이크를 더 포함하고, 상기 프로세서는, 상기 마이크를 이용하여 상기 사용자로부터 상기 음성 신호를 수신 하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 획득하는 동작의 적어도 일부로, 상기 외부 전자 장치 또는 다른 외부 전자 장치로부터 상기 명령 신호를 상기 통신 인터페이스를 이용하여 수신하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치는 사용자에 대응하는 이미지를 획득하기 위한 이미지 센서를 더 포함하고, 상기 프로세서는, 상기 이미지에 적어도 더 기반하여, 상기 상황 정보를 확인하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 응답 정보에 대한 속성 정보를 확인하고 및 상기 속성 정보가 지정된 조건을 만족하면, 상기 응답 정보를 제공하기 위한 지정된 방법과 다른 방법으로 제공하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 지정된 방법은 소리를 통해 제공하는 방법을 포함하고, 상기 프로세서는, 상기 속성 정보가 지정된 조건을 만족하면, 상기 응답 정보를 상기 다른 방법의 적어도 일부로 이미지 또는 문서로 제공하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 속성 정보는 상기 응답 정보의 길이, 특수문자 포함 여부, 카테고리, 또는 그 조합을 포함하고, 상기 프로세서는, 상기 속성 정보의 적어도 일부 기반하여, 상기 지정된 조건에 대응하는 정보를 생성하도록 설정될 수 있다.
상술한 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 사용자 명령 신호(음성 신호 또는 문자 신호)를 획득하기 위한 오디오 장치, 상기 사용자 명령 신호(음성 신호 또는 문자 신호)와 관련한 질문 또는 답을 저장하는 메모리, 상기 오디오 장치 또는 상기 메모리에 기능적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 획득된 명령 신호를 텍스트로 변환하고, 상기 변환된 텍스트에 대응하는 질문 또는 상기 질문에 대응하는 답을 상기 메모리에 저장된 데이터를 기반으로 검색하고, 상기 검색된 질문 또는 답의 속성 정보를 획득하여, 상기 답 및 상기 속성 정보를 기반으로 부가 정보를 생성하고, 및 상기 답 및 상기 부가 정보 중 적어도 하나를 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치는 이미지 획득이 가능한 센서를 더 포함하고, 상기 프로세서는 상기 센서를 이용하여 주변 영상을 획득하고, 획득된 주변 영상의 영상 분석 결과가 지정된 조건을 만족하는 경우, 상기 답 또는 상기 부가 정보 중 적어도 하나를 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 부가 정보를 음성 신호로 변환하고, 변환된 음성 신호를 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 부가 정보 중 음성 신호 변환이 되지 않는 정보를 지정된 기기의 화면으로 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 부가 정보가 저장된 저장 위치에 해당하는 주소 정보를 지정된 기기의 화면에 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 답의 일부를 출력하고, 지정된 조건 만족 이전까지 답의 다음 일부의 출력을 대기하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 지정된 조건이 만족되면 상기 답의 다음 일부를 출력하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 지정 조건 만족 이전에 다른 질문이 수신되면, 다른 질문에 대한 답을 출력하도록 설정될 수 있다.
도 3은 한 실시 예에 따른 질의 응답 처리 방법의 한 예를 나타낸 도면이다.
도 3을 참조하면, 한 실시 예에 따른 질의 응답 처리 방법과 관련하여, 동작 301에서, 프로세서(120)(예: 질문 처리 모듈(121))는 음성 수집 및 분석을 수행할 수 있다. 예를 들면, 프로세서(120)는 오디오 장치(110)를 활성화하고, 사용자 음성 신호를 수집할 수 있다. 또는 프로세서(120)는 통신 인터페이스(170)를 통하여 지정된 외부 전자 장치(200)로부터 사용자 명령 신호를 수신할 수 있다. 프로세서(120)는 사용자 음성 신호가 수신되면 입력이 음성인 경우, 음성 인식 기능을 기반으로 텍스트로 변환할 수 있다. 이와 관련하여, 전자 장치(100)는 음성 인식 프로그램 및 음성 인식 데이터베이스를 포함할 수 있다. 프로세서(120)는 변환된 텍스트에서 주어, 목적어, 술어 등을 추출하고, 추출된 정보로 문장을 구성할 수 있다. 또는, 프로세서(120)는 변환된 텍스트에서 단어들을 추출할 수 있다. 프로세서(120)는 텍스트를 기반으로 구성한 문장 또는 추출된 단어들에 대응하는 응답을 검색할 수 있다. 이와 관련하여, 프로세서(120)는 질문 데이터베이스(131) 및 답변 데이터베이스(133)를 기준으로 추출된 질문에 대응하는 응답을 검색할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)는 질문에 해당하는 데이터가 질문 데이터베이스(131)에 존재하지 않는 경우, 통신 인터페이스(170)를 통하여 추출된 질문을 외부 서버에 전송하고, 외부 서버로부터 질문에 대응하는 응답을 수신할 수 있다.
동작 303에서, 분석 결과가, 프로세서(120)(예: 질문 처리 모듈(121))는 지정된 단답형 질문인지 확인할 수 있다. 이와 관련하여, 프로세서(120)는 앞서 설명한 바와 같이, 질문 데이터베이스(131)를 활용하여 응답의 길이를 확인할 수 있다. 응답의 길이가 지정된 길이 이내(예: 한 단어로 이루어졌거나, 하나의 단어 의미를 가지는 합성어이거나, 길이가 10글자 이내 등인 경우)이면, 프로세서(120)는 지정된 단답형 질문으로 확인할 수 있다.
지정된 단답형 질문인 경우, 동작 305에서, 프로세서(120)(예: 부가 정보 생성 모듈(123))는 질문 속성 또는 단답 속성에 따른 부가 정보를 생성할 수 있다. 예를 들면, 프로세서(120)는 질문 데이터베이스(131) 또는 답변 데이터베이스(133)를 기반으로 질문 또는 답변에 대한 속성 정보를 수집할 수 있다. 프로세서(120)는 수집된 속성 정보와 동일 속성 정보(예: 대분류 또는 하위 분류)와 관련한 정보를 부가 정보로 수집할 수 있다. 예를 들어, 프로세서(120)는 속성 정보와 동일한 분류에 속하는 뉴스 기사, 사용자 검색 이력 정보 등을 부가 정보로 생성할 수 있다.
다양한 실시 예에 따르면, 프로세서(120)는 상황 정보를 수집하고, 수집된 상황 정보와 상기 속성 정보가 공통으로 포함되는 부가 정보를 생성할 수 있다. 예를 들면, 프로세서(120)는 위치 또는 지명과 관련한 질문이 수신되면, 상황 정보로서 현재 위치 정보를 수집할 수 있다. 프로세서(120)는 현재 위치와 관련한 부가 정보(예: 현재 위치와 관련한 뉴스, 현재 위치에 해당하는 건물이나 지명 정보 등)를 생성할 수 있다. 또는, 프로세서(120)는 상기 답변과 상기 상황 정보를 상호 비교하고, 비교 결과에 대응하는 부가 정보를 생성할 수 있다. 예를 들면, 프로세서(120)는 높이, 길이 또는 넓이와 관련한 질문이 수신되면, 상황 정보로서 사용자 정보를 수집할 수 있다. 프로세서(120)는 사용자 정보와 질문 또는 답변 정보를 비교하고, 비교 결과를 부가 정보로 생성할 수 있다.
동작 307에서, 프로세서(120)(예: 출력 모듈(125))는 단답 또는 부가 정보 중 적어도 하나를 출력할 수 있다. 예를 들면, 프로세서(120)는 단답에 해당하는 음성 신호를 생성하고, 생성된 음성 신호를 출력할 수 있다. 또는, 프로세서(120)는 단답 출력 후, 부가 정보를 음성 신호로 변환하고, 부가 정보에 대응하는 음성 신호를 출력할 수 있다. 다양한 실시 예에 따르면, 단답 출력 후, 지정된 조건이 만족되면, 프로세서(120)는 부가 정보를 출력할 수 있다. 프로세서(120)는 단답 출력 후, 부가 정보 출력을 요청하는 사용자 제스처가 발생하면, 부가 정보를 출력할 수 있다.
지정된 단답형 질문이 아니면, 동작 309에서, 프로세서(120)(예: 질문 처리 모듈(121))는 분석 결과가 지정된 서술형 질문인지 확인할 수 있다. 예를 들면, 프로세서(120)는 질문에 대응하는 응답의 길이가 지정된 길이 이상이거나 또는 복수의 문장으로 이루어져 있거나 또는 지정된 개수 이상의 단어들을 포함하는 경우 서술형 답변을 위한 서술형 질문으로 확인할 수 있다.
지정된 서술형 질문인 경우, 동작 311에서, 프로세서(120)(예: 출력 모듈(125))는 데이터베이스 또는 서버를 이용하여 서술형 답을 획득하여 출력할 수 있다. 프로세서(120)는 서술형 답을 음성 신호로 변환하고, 오디오 장치(110)를 통하여 음성 신호를 출력할 수 있다. 또는, 프로세서(120)는 적어도 하나의 외부 전자 장치(200)를 검색하고, 검색된 외부 전자 장치(200) 중 음성 신호 출력 이력을 가진 장치 또는 사용자 선택에 따른 장치 등에 음성 신호를 전달하여 출력하도록 제어할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)는 서술형 답에 대한 부가 정보를 생성하고, 생성된 부가 정보를 선택적으로 출력할 수도 있다. 서술형 답에 대한 부가 정보 생성 시, 프로세서(120)는 질문 데이터베이스(131) 또는 답변 데이터베이스(133)에 저장된 속성 정보를 기반으로, 부가 정보를 생성할 수 있다. 또는 프로세서(120)는 센서(180) 등을 이용하여 상황 정보를 수집하고, 수집된 상황 정보와 속성 정보를 기반으로 부가 정보를 생성할 수 있다.
지정된 서술형 질문이 아닌 경우, 동작 313에서, 프로세서(120)는 해당 질문에 관련한 답변을 지정된 방식에 따라 수집하고, 동작 313에서, 답을 지정된 기기(예: 외부 전자 장치(200))로 출력하도록 제어할 수 있다. 예를 들면, 프로세서(120)는 답변이 이미지 또는 수식 등을 포함하는 경우, 이미지 또는 수식을 포함하는 화면을 구성할 수 있다. 프로세서(120)는 화면을 디스플레이(160)에 출력하거나 통신 인터페이스(170)를 통해 연결 가능한 적어도 하나의 외부 전자 장치(200)에 전송할 수 있다. 다양한 실시 예에 따르면, 복수의 이미지 또는 여러 수식이 포함된 경우, 이미지 또는 수식을 설명하는 설명 정보와 이미지들 또는 수식들을 동기화할 수 있다. 프로세서(120)는 특정 이미지 또는 수식을 출력하면서 해당 이미지와 수식에 대한 음성 신호를 출력하고, 해당 이미지 또는 수식에 대한 음성 신호 출력이 종료되면, 다음 이미지 또는 수식을 출력한 후, 그에 대응하는 음성 신호를 출력하도록 제어할 수 있다.
도 4는 한 실시 예에 따른 부가 정보 생성 방법의 한 예를 나타낸 도면이다.
도 4를 참조하면, 부가 정보 생성 방법에 있어서, 동작 401에서, 프로세서(120)(예: 질문 처리 모듈(121))는 질문 또는 답으로부터 적어도 하나의 속성 정보를 수집할 수 있다. 예를 들면, 프로세서(120)는 질문 데이터베이스(131) 또는 답변 데이터베이스(133)를 이용하여 질문 또는 답에 대응하는 속성 정보를 수집할 수 있다. 프로세서(120)는 질문과 답의 속성이 동일한 경우, 하나의 속성 정보만을 수집할 수 있다.
동작 403에서, 프로세서(120)(예: 부가 정보 생성 모듈(123))는 상기 속성 정보에 대응하는 상황 정보를 수집할 수 있다. 예를 들면, 프로세서(120)는 속성 정보가 지리나 위치를 지시하는 정보인 경우, 사용자가 현재 있는 위치 정보(예: 사용자가 거주하고 있는 집의 위치 또는 사용자가 있는 집 안에서의 위치 등)를 수집할 수 있다. 다양한 실시 예에 따르면, 속성 정보가 인물인 경우, 프로세서(120)는 센서(180)(예: 카메라 또는 이미지 센서)를 운용하여 사용자의 얼굴 정보를 획득할 수 있다. 또는, 속성 정보가 계절 또는 날씨 정보인 경우, 프로세서(120)는 센서(180)(예: 온도 센서, 습도 센서)를 운용하여 온도, 습도, 조도 등의 정보를 획득할 수 있다.
동작 405에서, 프로세서(120)는 상기 상황 정보 기반 부가 정보 생성을 처리할 수 있다. 프로세서(120)는 상황 정보가 획득되면, 이를 기반으로 획득된 답과 관계된 부가 정보를 생성할 수 있다. 예를 들면, 답변이 지정된 장소 이름에 대한 정보인 경우, 프로세서(120)는 사용자의 현재 위치로부터 지정된 장소까지의 거리 정보를 부가 정보로 생성할 수 있다. 답변이 인물인 경우, 프로세서(120)는 인물의 얼굴과 사용자의 얼굴을 비교하여 매칭의 정도를 기반으로 부가 정보로 생성(예: 얼굴을 닮은 정도에 대한 설명 등)할 수 있다. 답변이 계절 정보인 경우, 프로세서(120)는 현재 온도와 습도 등의 정보를 부가 정보로 생성할 수 있다.
상기 전자 장치(100)는 상술한 부가 정보 생성과 관련하여, 특정 답변의 속성과 연계되는 부가 정보 속성들을 정의한 데이터베이스를 포함할 수 있다. 상기 부가 정보 속성을 정의한 데이터베이스는 부가 정보의 속성에 대응하여 정보를 획득하는 방식(예: 위치와 관련한 부가 정보 생성 시 위치 검출 센서를 활용하도록 설계된 방식, 인물 관련 부가 정보 생성 시 얼굴 인식 및 비교 프로그램을 활용하도록 설계된 방식, 날씨 관련 부가 정보 생성 시 온습도 센서를 활용하도록 설계된 방식 등)을 포함할 수 있다. 상술한 부가 정보 속성을 정의한 데이터베이스는 사용자 설정에 따라 변경되거나 또는 지정된 서버가 제공한 데이터에 의해 갱신될 수도 있다.
도 5는 한 실시 예에 따른 부가 정보 생성 방법의 다른 예를 나타낸 도면이다.
도 5를 참조하면, 부가 정보 생성 방법에 있어서, 동작 501에서, 프로세서(120)(예: 질문 처리 모듈(121))는 답 속성 정보를 추출할 수 있다. 예를 들면, 프로세서(120)는 답변 데이터베이스(133)를 기반으로 답이 도출되면, 도출된 답에 대응하는 속성 정보를 답변 데이터베이스(133)로부터 추출할 수 있다.
동작 503에서, 프로세서(120)(예: 부가 정보 생성 모듈(123))는 속성에 대응되는 사용자 정보를 선택할 수 있다. 이와 관련하여, 전자 장치(100)는 사용자 정보들 각각에 대해 답변 데이터베이스(133)에 저장된 속성 정보들을 매핑한 테이블을 저장 관리할 수 있다. 한 실시 예에 따르면, 답변의 속성이 건강인 경우, 프로세서(120)는 사용자 정보 중 나이와 키, 몸무게 정보를 획득할 수 있다. 또한, 답변 속성이 스포츠인 경우, 프로세서(120)는 사용자 정보 중 취미 정보 또는 특기 정보 등을 획득할 수 있다. 또한, 답변 속성이 경제인 경우, 프로세서(120)는 사용자의 집 주소 정보를 토대로 한 부동산 정보 등을 획득할 수 있다.
동작 505에서, 프로세서(120)는 지정된 규칙에 따라 선택된 사용자 정보와 답을 기반으로 부가 정보 생성을 할 수 있다. 예를 들면, 나이별 건강 몸무게가 답변인 경우, 프로세서(120)는 사용자의 나이, 키, 몸무게를 기준으로 사용자의 건강 상태에 대한 정보를 부가 정보로 생성할 수 있다. 또한, 오늘 야구 현황이 답인 경우, 프로세서(120)는 사용자 취미나 기호 등에 의해 선택된 다른 스포츠(예: 축구) 팀들의 실적에 대한 정보를 부가 정보로 생성할 수 있다. 또한, 특정 지역의 부동산 시세가 답인 경우, 프로세서(120)는 사용자가 현재 거주하고 있는 지역의 부동산 시세 정보를 부가 정보로 생성할 수 있다.
도 6은 한 실시 예에 따른 서술형 답 출력 방법의 한 예를 나타낸 도면이다.
도 6을 참조하면, 답 출력 방법과 관련하여, 동작 601에서, 프로세서(120)(예: 질문 처리 모듈(121))는 서술형 답을 수집할 수 있다. 예를 들면, 프로세서(120)는 수집된 음성 신호 분석 및 분석 결과에 대응하는 질문 데이터베이스(131)와 답변 데이터베이스(133)를 기반으로, 해당 질문에 매핑된 서술형 답을 수집할 수 있다. 상기 프로세서(120)는 질문 또는 답과 관련한 데이터가 데이터베이스에 없는 경우, 통신 인터페이스(170)를 통하여 서버에 사용자 음성 신호(또는 음성 신호 분석 결과)를 전송하고 그에 대응하는 답을 수집할 수도 있다.
동작 603에서, 프로세서(120)(예: 질문 처리 모듈(121))는 수집된 서술형 답이 시계열적 답인지 확인할 수 있다. 예를 들면, 프로세서(120)는 서술형 답 내에 시계열적 답을 지시하는 지정된 단어들(예: 단계, 동작, 과정 등)이 포함되는지 확인할 수 있다. 또는, 프로세서(120)는 답에 시계열적 답을 지시하는 지정된 숫자들 예를 들면, 1.1 또는 1-1, 또는 가), 나), 또는 A), B) 등이 포함되는지 확인할 수 있다. 또는, 프로세서(120)는 답에 시계열적 답과 관련한 복수의 접속사들이 답에 포함되는지 확인할 수 있다.
시계열적 답인 경우, 동작 605에서, 프로세서(120)(예: 출력 모듈(125))는 다단으로 이루어진 서술형 답 중에서 첫 단계 답을 출력할 수 있다. 예를 들면, 프로세서(120)는 답변의 시작 부에서 마침표까지 또는 지정된 접속사 이전까지 또는 지정된 숫자 표현 이전까지를 첫 단계로 판단할 수 있다. 프로세서(120)는 판단된 첫 단계에 대응하는 텍스트를 음성 신호로 변환하여 출력할 수 있다. 다양한 실시 예에 따르면, 첫 단계의 답이 음성 신호로 마련된 경우, 답에 해당하는 음성 신호를 지정된 기기(예: 전자 장치(100) 또는 적어도 하나의 외부 전자 장치(200))에 출력할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)는 답에 이미지나 수식 등이 포함된 경우 지정된 외부 전자 장치(200)에 해당 이미지나 수식에 대응하는 화면을 제공하거나 또는 해당 이미지나 수식에 대응하는 주소 정보(또는 링크 정보)를 전송할 수 있다.
첫 단계 답을 출력한 후, 동작 607에서, 프로세서(120)(예: 출력 모듈(125))는 지정 조건을 만족하는지 확인할 수 있다. 상기 지정 조건은 예를 들면, 지정된 사용자 제스처 정보가 수집되는지 확인하는 조건을 포함할 수 있다. 이와 관련하여, 프로세서(120)는 센서(180)(예: 카메라 또는 이미지 센서)를 운용하여 사용자 얼굴이나 손, 몸 등에 대한 이미지를 수집하고, 해당 이미지 분석을 기반으로 사용자가 지정된 제스처를 수행하는지 확인할 수 있다. 다양한 실시 예에 따르면, 상기 지정 조건은 지정된 음성 신호의 수집 조건을 포함할 수 있다. 이와 관련하여, 프로세서(120)는 첫 단계 답 출력 후, 오디오 장치(110)를 활성화하여 사용자 음성 신호를 수집하고, 음성 신호 중 지정된 조건에 대응하는 음성 신호가 포함되는지 확인할 수 있다.
다양한 실시 예에 따르면, 프로세서(120)는 첫 단계의 답에 포함된 단어(예: 동작과 관련한 단어)에 대응하는 사용자 제스처가 수집되는지 확인할 수 있다. 해당 단계에 포함된 단어에 대응하는 사용자 제스처가 수집되면 프로세서(120)는 지정 조건이 만족되는 것으로 판단할 수 있다. 이와 관련하여, 프로세서(120)는 전자 장치(100)에 포함된 이미지 센서를 운용하거나 또는 사용자가 파지하는 전자 장치로부터 센서 정보(예: 가속도 센서 정보 또는 지자기 센서 정보, 심박 정보 등)를 수신할 수 있다.
지정 조건을 만족하는 경우, 동작 609에서, 프로세서(120)는 다음 단계 답이 마지막 단계인지 확인할 수 있다. 다음 단계의 답이 서술형 답의 마지막 답인 경우, 동작 611에서, 프로세서(120)는 마지막 단계 답을 출력할 수 있다. 예를 들면, 프로세서(120)는 해당 답에 대응하는 음성 신호 출력(예: 텍스트를 음성 신호로 변환하여 출력)을 수행할 수 있다. 다음 단계의 답이 서술형 답의 마지막 답이 아닌 경우, 동작 613에서, 프로세서(120)는 다음 단계 답을 출력하고, 동작 607 이전으로 분기하여 이하 동작을 재수행할 수 있다.
동작 607에서의 지정 조건을 만족하지 못하는 경우, 동작 615에서 프로세서(120)는 종료와 관련한 이벤트가 발생하는지 확인할 수 있다. 종료 관련 이벤트가 발생하지 않으면, 프로세서(120)는 동작 607 이전으로 분기하여 이하 동작을 수행할 수 있다. 예를 들면, 프로세서(120)는 지정 조건을 만족하는지 실시간으로 또는 일정 주기로 확인할 수 있다.
동작 603에서의 서술형 답이 시계열적 답이 아닌 경우, 동작 617에서, 프로세서(120)(예: 부가 정보 생성 모듈(123))는 질문 속성 및 서술형 답 속성에 따른 부가 정보를 생성할 수 있다. 예를 들면, 특정 등산로와 관련한 질문에 대응하여 해당 등산로와 관련한 서술형 답이 수집되면, 프로세서(120)는 사용자의 평소 운동량을 기반으로 추천 등산로를 부가 정보로 생성할 수 있다. 사용자의 평소 운동량은 헬스케어 프로그램에 의해 저장된 정보로부터 획득될 수 있다. 동작 619에서, 프로세서(120)는 서술형 답 또는 부가 정보 중 적어도 하나를 출력할 수 있다.
다양한 실시 예에 따르면, 시계열적 답은 파스타 만들기와 같은 레시피를 포함할 수 있다. 이 경우, 프로세서(120)는 레시피 준비 재료 및 만드는 순서를 큐(Queue)에 넣고 출력하면서, 요리 진행상황을 카메라 또는 센서 정보들을 모니터링하여 판단하고, 각 요리 단계별로 스토리 텔링(story telling)에 따른 답변 출력을 할 수 있다. 이 동작에서, 프로세서(120)는 답변한 내용과 현재 진척도를 비교하여 현재 단계의 조리가 끝나지 않는 경우에는 다음단계의 스토리 텔링을 큐 에서 대기시킬 수 있다.
한 실시 예에 따르면, 서술형 응답의 경우(예: 레시피 정보 등) 중간에 답변을 마무리하지 않고 대기할 수 있으며, 이 동작에서, 프로세서(120)는 다른 질문에 대한 사용자 음성 신호가 수집되면, 그에 대응하여 답을 검색하여 출력하도록 제어할 수 있다. 이와 관련하여, 프로세서(120)는 서술형 답 및 추가 답에 대한 큐 순서를 능동적으로 변환할 수 있다. 예를 들어, 다수의 단계를 가지는 요리 진행 중에 2번 답변 완료 후 3번 답변을 대기하고 있는 상황에서, 중간 질문이 들어오면, 프로세서(120)는 중간 질문에 대한 답을 구하여 출력하고, 3번 답변의 대기를 재수행할 수 있다. 예를 들면, 프로세서(120)는 요리 단계 중에 날씨 질문이 들어오면, 3번 답변의 큐를 미루고, 현재 온도와 날씨 정보를 출력할 수 있다. 상기 중간 질문에 대한 답변이 완료되면, 프로세서(120)는 3번 답변의 큐를 원래 위치로 복원하면서, 2번 답변 완료 이후, 진행 상태에 대한 모니터링을 재개(예: 사용자 관련 상황 정보 수집 및 분석)할 수 있다.
도 7은 한 실시 예에 따른 서술형 답 출력 방법의 다른 예를 나타낸 도면이다.
도 7을 참조하면, 답 출력 방법과 관련하여, 동작 701에서, 프로세서(120)(예: 질문 처리 모듈(121))는 서술형 답을 수집할 수 있다. 예를 들면, 프로세서(120)는 질문 데이터베이스(131) 및 답변 데이터베이스(133)를 기반으로 수집된 음성 신호에 대응하는 서술형 답을 수집할 수 있다.
동작 703에서, 프로세서(120)(예: 출력 모듈(125))는 주변 외부 전자 장치 검색을 수행할 수 있다. 프로세서(120)는 통신 인터페이스(170)에 포함된 근거리 통신 모듈을 이용하여 일정 거리 이내에 위치한 적어도 하나의 외부 전자 장치 검색을 수행할 수 있다.
동작 705에서, 프로세서(120)는 외부 전자 장치를 선택할 수 있다. 예를 들어, 프로세서(120)는 수집된 서술형 답의 속성에 따라 주변 외부 전자 장치의 개수 또는 외부 전자 장치의 종류를 다르게 선택할 수 있다. 예를 들면, 프로세서(120)는 서술형 답의 전체 길이에 따라 외부 전자 장치의 개수 또는 종류를 다르게 선택할 수 있다. 한 실시 예에 따르면, 프로세서(120)는 서술형 답의 전체 길이가 지정된 길이 이상인 경우 상대적으로 많은 개수의 외부 전자 장치를 선택하고, 지정된 길이 이하인 경우, 상대적으로 적은 개수의 외부 전자 장치를 선택할 수 있다. 또한, 프로세서(120)는 서술형 답이 운율을 가진 답(예: 시조, 노래 등)인 경우 상대적으로 스피커 품질이 뛰어난 외부 전자 장치를 선택할 수 있다.
동작 707에서, 프로세서(120)는 서술형 답을 외부 전자 장치(200)에 전달할 수 있다. 이와 관련하여, 프로세서(120)는 근거리 통신 모듈(또는 인터넷 네트워크 지원 통신 모듈 등)을 이용하여 외부 전자 장치(200)와 통신 채널을 형성하고, 상기 통신 채널을 기반으로 상기 서술형 답을 상기 외부 전자 장치(200)에 전송할 수 있다. 다양한 실시 예에 따르면, 본 발명의 질의 응답 처리 시스템은 IoT(internet of things) 허브를 더 포함할 수 있으며, 전자 장치(100) 및 적어도 하나의 외부 전자 장치(200)는 상기 IoT 허브와 통신 채널을 형성할 수 있다. 이러한 환경에서, 전자 장치(100)는 서술형 답을 IoT 허브에 전송하고, IoT 허브는 서술형 답을 지정된 적어도 하나의 외부 전자 장치(200)에 전송할 수 있다. 한 실시 예에 따르면, IoT 허브는 전자 장치(100)가 제공한 서술형 답의 속성을 판단하고, 판단된 속성에 따라, 지정된 적어도 하나의 외부 전자 장치(200)에 전송할 수 있다. 이와 관련하여, IoT 허브는 서술형 답들에 대한 속성 정보 및 해당 속성에 의해 선택되는 외부 전자 장치들에 대한 매핑 정보 등을 데이터베이스로 저장할 수 있다. 다양한 실시 예에 따르면, IoT 허브는 전자 장치(100)가 제공한 서술형 답 및 외부 전자 장치(200) 목록을 기반으로, 수신된 서술형 답을 상기 전자 장치(100)가 선택한 외부 전자 장치(200)에 전송할 수도 있다. 상기 전자 장치(100) 및 적어도 하나의 외부 전자 장치(200)는 유선 또는 무선 등으로 IoT 허브와 연결될 수 있다.
도 8은 한 실시 예에 따른 답 출력 방법의 또 다른 예를 나타낸 도면이다.
도 8을 참조하면, 단답형 또는 서술형 답이 아닌 경우에서의 답 출력 방법과 관련하여, 동작 801에서, 프로세서(120)(예: 질문 처리 모듈(121))는 답 주소 정보를 수집할 수 있다. 한 실시 예에 따르면, 프로세서(120)는 질문에 대한 답에 적어도 일부가 이미지 또는 수식 등을 포함하는 경우, 답이 저장된 위치 주소 정보(예: URL 정보 또는 Sound QR 정보 등)를 획득할 수 있다. 상기 주소 정보는 상기 답이 저장될 수 있는 전자 장치(100)의 답변 데이터베이스(133)의 주소 정보, 외부 전자 장치(200)의 주소 정보 또는 지정된 서버의 주소 정보 등을 포함할 수 있다.
동작 803에서, 프로세서(120)는 주소 정보를 출력할 수 있다. 상기 프로세서(120)는 상기 주소 정보를 지정된 기기(예: 전자 장치(100) 또는 외부 전자 장치(200) 등)에 출력할 수 있다. 출력 과정에서, 프로세서(120)는 주소 정보를 링크 정보로 출력하여, 주소 정보 선택 시, 링크된 정보로 이동될 수 있도록 처리할 수 있다.
동작 805에서, 프로세서(120)는 주소 정보 선택과 관련한 입력 신호 발생을 확인할 수 있다. 주소 정보 선택과 관련한 입력 신호가 발생하면, 동작 807에서, 프로세서(120)는 주소 정보에 해당하는 정보 출력을 제어할 수 있다. 한 실시 예에 따르면, 프로세서(120)는 주소 정보를 디스플레이에 출력하고, 디스플레이에서 해당 주소 정보를 선택하는 터치 입력이 발생하면, 주소 정보에 해당하는 답 정보를 디스플레이에 출력할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)는 주소 정보를 지정된 외부 전자 장치(200)에 전송할 수 있다. 상기 외부 전자 장치(200)는 수신된 주소 정보를 디스플레이에 출력하고, 사용자 입력에 따라, 주소 정보에 해당하는 답 정보를 수집하여 출력할 수 있다. 이와 관련하여, 외부 전자 장치는 주소 정보에 따라 전자 장치(100) 또는 다른 외부 전자 장치, 또는 서버 등과 통신 채널을 형성하고, 해당 기기로부터 답 정보를 수신할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)는 주소 정보를 출력한 외부 전자 장치로부터 사용자 입력 신호 수신을 전달받고, 그에 대응하여 답 정보를 외부 전자 장치에 전송할 수도 있다.
주소 정보 선택이 없는 경우, 프로세서(120)는 동작 807 단계를 생략할 수 있다. 프로세서(120)는 주소 정보 출력을 지정된 시간 동안 유지하고, 지정된 시간이 경과하면, 주소 정보 출력을 중지할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)는 선택되지 않은 주소 정보에 대한 저장 관리를 할 수도 있다. 프로세서(120)는 사용자 입력에 따라, 주소 정보 리스트를 디스플레이에 출력하고, 사용자 입력(예: 주소 정보 선택과 관련한 입력)이 발생하면, 상술한 807 동작을 수행할 수 있다.
도 9는 한 실시 예에 따른 정보 출력 방법의 한 예를 나타낸 도면이다.
도 9를 참조하면, 정보 출력 방법과 관련하여, 동작 901에서, 프로세서(120)(예: 출력 모듈(125))는 TTS(text to speech) 변환이 되지 않는 정보를 추출할 수 있다. 예를 들면, 프로세서(120)는 질문에 대한 답이 답변 데이터베이스(133)를 기반으로 획득되면, 획득된 답을 분석하여 TTS 변환되지 않는 지정된 정보(예: 이미지, 수식, 또는 특수 문자 등)가 있는지 확인할 수 있다. 답에 지정된 정보가 포함되어 있는 경우, 프로세서(120)는 해당 정보를 추출할 수 있다. 또한, 프로세서(120)는 지정된 정보의 컨텐츠 내에서의 위치를 수집할 수 있다. 또는, 프로세서(120)는 지정된 정보의 전단에 위치한 텍스트 및 지정된 정보의 후단에 위치한 텍스트 등을 수집할 수 있다.
동작 903에서, 프로세서(120)는 추출 정보와 TTS 변환 정보 동기화를 수행할 수 있다. 예를 들면, 프로세서(120)는 지정된 정보 이외 TTS 변환이 가능한 정보들을 음성 신호로 변환할 수 있다. 또한, 프로세서(120)는 지정된 정보의 위치 정보를 기반으로 변환된 음성 신호의 출력 시점을 조정하는 동기화 과정을 수행할 수 있다.
동작 905에서, 프로세서(120)는 TTS 변환 정보를 출력하면서, 지정된 기기에 추출 정보를 출력할 수 있다. 예를 들면, 프로세서(120)는 변환된 음성 신호 중 일부를 출력하면서, 음성 신호와 관련한 지정된 정보를 지정된 기기에 화면으로 출력할 수 있다. 프로세서(120)는 지정된 정보와 관련한 음성 신호 출력이 완료되면, 다음 지정된 정보를 출력하면서 그와 관련한 음성 신호를 출력할 수 있다.
다양한 실시 예에 따르면, 프로세서(120)는 TTS 변환이 어려운 답을 출력할 수 있는 외부 전자 장치가 검색되지 않으면, 지정된 계정의 이메일로 해당 답을 전송할 수 있다. 상술한 바와 같이, 다양한 실시 예에 따른 전자 장치는 대화로 표현하기 힘든 수식이나, 수학적 증명, 서술형 대답 등을 URL이나 Sound QR등 push 서비스를 이용하여, 휴대폰, 타블렛과 같이 표현하기 쉬운 장치를 이용하여 표현할 수 있다. 전자 장치(100)는 TTS로 표현되기 힘든 정보에 대해서 URL, 이나 출력 가능한 형태로 정보 제공할 수 있다. 또한, 프로세서(120)는 출력 가능한 형태의 파일로 제공(DOC, JPG, PDF 등)하여, 인터넷이 연결되지 않는 오프라인 환경에서의 답 확인 및 출력을 지원할 수 있다.
도 10a는 한 실시 예에 따른 질의 응답 처리 방법의 다른 예를 나타낸 도면이다.
도 10a를 참조하면, 질의 응답 처리 방법과 관련하여, 동작 1001에서, 프로세서(120)(예: 질문 처리 모듈(121))는 음성 수집이 있는지 확인할 수 있다. 음성 수집이 없는 경우, 프로세서(120)는 이전 동작을 유지할 수 있다. 또는 프로세서(120)는 슬립 상태를 유지하면서, 오디오 장치(110)만을 대기 상태로 유지할 수 있다.
음성이 수집되면, 동작 1003에서, 프로세서(120)는 상황 정보를 수집할 수 있다. 예를 들면, 프로세서(120)는 사용자 음성 신호가 수신되면, 센서(180)(예: 이미지 센서 또는 위치 정보 수집 센서 등)를 이용하여, 사용자 관련 이미지를 획득하거나, 사용자 관련 위치 정보를 수집할 수 있다.
동작 1005에서, 프로세서(120)는 상황 정보 기반 음성 정보 분석을 수행할 수 있다. 이와 관련하여, 프로세서(120)는 수신된 사용자 음성 신호에 대한 텍스트 변환을 수행할 수 있다. 프로세서(120)는 변환된 텍스트를 기반으로 질문을 구성할 수 있다.
동작 1007에서, 정보 분석 결과를 기반으로 프로세서(120)는 단답 또는 서술형 답 중 어느 하나의 답을 선택할 수 있다. 예를 들면, 프로세서(120)는 질문에 대한 답을 질문 데이터베이스(131) 및 답변 데이터베이스(133), 또는 서버를 이용하여 검색하되, 상황 정보에 대응하여, 단답 또는 서술형 답 중 적어도 하나를 선택할 수 있다. 예를 들어, 특정 번호의 버스 위치에 대한 질문이 수집되면, 프로세서(120)는 사용자가 현재 거실에 위치한 경우, 버스 관리 서버와 통신하여 해당 번호의 버스가 지정된 정거장에 도착할 시간에 대한 단답을 획득할 수 있다. 또는, 프로세서(120)는 사용자가 현재 옷방에 위치한 경우, 버스 관리 서버와 통신하여, 해당 번호의 버스들이 지정된 정거장에 도착할 시간들에 대한 복수의 답을 획득할 수 있다. 또한, 프로세서(120)는 각 버스의 좌석 점유 상태에 대한 답도 획득할 수 있다. 동작 1009에서, 프로세서(120)는 선택된 답의 종류에 따라, 지정된 방식으로 해당 답을 출력하도록 제어할 수 있다.
도 10b는 한 실시 예에 따른 질의 응답 처리 방법의 또 다른 예를 나타낸 도면이다.
도 10b를 참조하면, 동작 1051에서, 프로세서(120)(예: 질문 처리 모듈(121))는 전자 장치의 사용자에 대응하는 음성 신호를 획득할 수 있다. 예를 들면, 프로세서(120)는 전자 장치(100)의 마이크를 이용하여 사용자의 음성 신호(또는 사용자 명령)을 수집하거나 또는 통신 인터페이스를 통하여 외부 전자 장치(예: 외부 전자 장치(200))를 통하여 음성 신호 또는 문자를 수신할 수 있다.
동작 1053에서, 프로세서(120)(예: 질문 처리 모듈(121))는 상기 음성 신호 획득과 연관하여, 상기 사용자와 관련된 상황 정보를 확인(또는 획득)할 수 있다. 예를 들면, 프로세서(120)는 획득된 사용자 음성 신호 또는 문자를 분석하고, 음성 신호에 포함된 질문을 추출할 수 있다. 프로세서(120)는 질문의 속성 정보를 분석하고, 속성 정보와 관련한 사용자 정보를 메모리(130)에서 확인할 수 있다. 또는, 프로세서(120)는 질문의 속성 정보와 관련된 상황 정보(예: 이미지 정보)를 획득할 수 있다.
동작 1055에서, 프로세서(120)(예: 질문 처리 모듈(121))는 상기 상황 정보가 제1 지정된 조건 또는 제2 지정된 조건을 만족하는지 확인할 수 있다. 예를 들면, 상기 제1 지정된 조건은 질문의 응답 길이가 일정 길이 이내인 조건을 포함할 수 있다. 또는 상기 제1 지정된 조건은 질문하는 사용자가 지정된 제1 사용자인 조건을 포함할 수 있다. 또는 상기 제1 지정된 조건은 질문을 받은 위치가 지정된 제1 위치인 조건을 포함할 수 있다. 또는 상기 제1 지정된 조건은 질문 또는 질문에 대응하는 답에 특수문자나 이미지가 포함되지 않는 제1 조건을 포함할 수 있다. 또는, 상기 제1 지정된 조건은 질문하는 사용자가 지정된 제1 조건의 제스처나 포즈를 취하는 조건을 포함할 수 있다. 상기 제2 지정된 조건은 질문의 응답 길이가 일정 길이 이상인 조건을 포함할 수 있다. 또는 상기 제2 지정된 조건은 질문하는 사용자가 지정된 제2 사용자인 조건을 포함할 수 있다. 또는 상기 제2 지정된 조건은 질문을 받은 위치가 지정된 제2 위치인 조건을 포함할 수 있다. 또는 상기 제2 지정된 조건은 질문 또는 질문에 대응하는 답에 특수문자나 이미지가 포함하는 제2 조건을 포함할 수 있다. 또는, 상기 제2 지정된 조건은 질문하는 사용자가 지정된 제2 조건의 제스처나 포즈를 취하는 조건을 포함할 수 있다.
상기 상황 정보가 제 1 지정된 조건을 만족하면, 동작 1057에서 프로세서(120)(예: 출력 모듈(125))는 상기 명령 신호에 대응하는 정보의 적어도 일부 출력할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)(예: 부가 정보 생성 모듈(123))는 제1 지정된 조건에 따른 답 획득과 함께, 제1 지정된 조건과 관련한 질문 또는 답과 관련한 제1 조건에 따른 부가 정보를 생성할 수 있다. 프로세서(120)는 질문에 대한 답 또는 제1 조건에 따른 부가 정보 중 적어도 일부를 출력할 수 있다.
상기 상황 정보가 제 2 지정된 조건을 만족하면, 동작 1059에서 프로세서(120)(예: 출력 모듈(125))는 상기 음성 신호에 대응하는 제 2 응답 정보의 적어도 일부를 출력할 수 있다. 다양한 실시 예에 따르면, 프로세서(120)(예: 부가 정보 생성 모듈(123))는 제2 지정된 조건에 따른 답 획득과 함께, 제2 지정된 조건과 관련한 질문 또는 답과 관련한 제2 조건에 따른 부가 정보를 생성할 수 있다. 프로세서(120)는 질문에 대한 답 또는 제2 조건에 따른 부가 정보 중 적어도 일부를 출력할 수 있다. 상기 프로세서(120)(예: 출력 모듈(125))는 제1 지정된 조건 또는 제2 지정된 조건에 따라 출력하는 외부 전자 장치의 종류 또는 개수 중 적어도 하나를 다르게 하여 출력할 수 있다.
도 3 내지 도 10b에 도시된 과정 내지 방법에 기재된 동작(예: 301 내지 313, 401 내지 405, 501 내지 505, 601 내지 619, 701 내지 707, 801 내지 807, 901 내지 905, 또는 1001 내지 1009)들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 예를 들면, 다른 순서로 실행되거나, 일부 동작이 생략되거나, 다른 동작이 추가될 수 있다.
상술한 다양한 실시 예에 따른 질의 응답 처리 방법은 전자 장치의 사용자에 대응하는 음성 신호를 획득하는 동작, 상기 음성 신호 획득과 연관하여, 상기 사용자와 관련된 상황 정보를 확인하는 동작, 상기 상황 정보가 제1 지정된 조건 또는 제2 지정된 조건을 만족하는지 확인하는 동작, 상기 상황 정보가 제 1 지정된 조건을 만족하면, 상기 음성 신호에 대응하는 제 1 응답 정보의 적어도 일부 출력하고, 상기 상황 정보가 제 2 지정된 조건을 만족하면, 상기 음성 신호에 대응하는 제 2 응답 정보의 적어도 일부를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 음성 신호를 획득하는 동작은 상기 마이크를 이용하여 상기 사용자로부터 상기 음성 신호를 수신하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 획득하는 동작의 적어도 일부로, 외부 전자 장치로부터 상기 음성 신호를 통신 인터페이스를 이용하여 수신하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 사용자에 대응하는 이미지를 획득하는 동작을 더 포함하고, 상기 상황 정보를 확인하는 동작은 상기 이미지에 적어도 더 기반하여, 상기 상황 정보를 확인하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 응답 정보에 대한 속성 정보를 확인하는 동작, 상기 속성 정보가 지정된 조건을 만족하면, 상기 응답 정보를 제공하기 위한 지정된 방법과 다른 방법으로 제공하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 지정된 방법은 소리를 통해 제공하는 동작을 포함하고, 상기 제공하는 동작은 상기 속성 정보가 지정된 조건을 만족하면, 상기 응답 정보를 상기 다른 방법의 적어도 일부로 이미지 또는 문서로 제공하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 속성 정보는 상기 응답 정보의 길이, 특수문자 포함 여부, 카테고리, 또는 그 조합을 포함하고, 상기 방법은 상기 속성 정보의 적어도 일부 기반하여, 상기 지정된 조건에 대응하는 정보를 생성하는 동작을 더 포함할 수 있다.
상술한 다양한 실시 예에 따르면, 한 실시 예에 따른 질의 응답 처리 방법은 사용자 음성 신호를 수집하는 동작, 상기 수집된 음성 신호를 텍스트로 변환하는 동작, 상기 변환된 텍스트에 대응하는 질문 또는 상기 질문에 대응하는 답을 상기 메모리에 저장된 데이터를 기반으로 검색하는 동작, 상기 검색된 질문 또는 답의 속성 정보를 수집하는 동작, 상기 답 및 상기 속성 정보를 기반으로 부가 정보를 생성하는 동작, 상기 답 또는 상기 부가 정보 중 적어도 하나를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 출력하는 동작은 상기 전자 장치와 기능적으로 연결된 이미지 센서를 이용하여 주변 영상을 획득하는 동작 및 상기 획득된 주변 영상의 영상 분석 결과가 지정된 조건을 만족하는 경우, 상기 답 또는 상기 부가 정보 중 적어도 하나를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 답 또는 상기 부가 정보 중 적어도 하나를 출력하는 동작은 상기 부가 정보 중 음성 신호 변환이 되지 않는 정보를 지정된 기기의 화면으로 출력하거나 상기 부가 정보가 저장된 저장 위치에 해당하는 주소 정보를 지정된 기기의 화면에 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 출력하는 동작은 상기 전자 장치와 기능적으로 연결된 이미지 센서를 이용하여 주변 영상을 획득하는 동작 및 상기 획득된 주변 영상의 영상 분석 결과가 지정된 조건을 만족하는 경우, 상기 부가 정보를 음성 신호로 변환하고 상기 변환된 음성 신호를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 출력하는 동작은 상기 프로세서는 상기 부가 정보 중 음성 신호 변환이 되지 않는 정보를 지정된 기기의 화면으로 출력하는 동작 또는 상기 부가 정보가 저장된 저장 위치에 해당하는 주소 정보를 지정된 기기의 화면에 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 출력하는 동작은 상기 답의 일부를 출력하고, 지정된 조건 만족 이전까지 답의 다음 일부의 출력을 대기하는 동작, 상기 지정된 조건이 만족되면 상기 답의 다음 일부를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 지정 조건 만족 이전에 다른 질문이 수신되면, 다른 질문에 대한 답을 출력하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상술한 질의 응답 처리 방법은 부가 정보 생성과 관련하여, 주변 전자 장치의 메모리(또는 저장 장치)와 데이터베이스 공유를 수행하고, 공유된 데이터베이스를 기반으로 부가 정보를 생성하는 동작, 질의하는 사용자의 음성 또는 얼굴 인식 등을 통하여 화자를 구분하고, 구분된 화자별 답변을 차별화하여 제공하는 동작, 답변 히스토리를 저장 관리하고, 저장 관리되는 답변 히스토리를 기반으로 부가 정보 생성을 처리하는 동작 등을 포함할 수 있다.
다양한 실시 예에 따르면, 상술한 질의 응답 처리 방법은 부가 정보 생성과 관련하여, 단계별로 출력되는 답변과 관련하여 부가 정보를 생성하되, 모니터링되는 사용자의 사용자 정보(예: 신체 조건, 나이, 가족 구성원에서의 위치, 취미, 기호 등)를 기반으로, 제공되는 부가 정보의 형태를 다르게 생성하도록 설정될 수 있다. 예를 들어, 상기 질의 응답 처리 방법은 노래 강의나 블록 조립 등과 관련한 부가 정보를 생성할 경우, 사용자 정보에 따라 각 단계별 설명의 상세도를 다르게 하는 동작을 포함할 수 있다. 또는, 질의 응답 처리 방법은 지정된 상황 정보를 획득해야 다음 단계로 진입하는 시계열적 답변에서 다음 단계로 진입할 수 있는 설정 조건을 사용자 정보에 다르게 적용하는 동작(예: 상대적으로 어린 나이이거나 미숙한 사용자에게 보다 쉬운 설정 조건을 제공하고, 상대적으로 나이가 많거나 능숙한 사용자에게 보다 어려운 설정 조건을 제공)을 포함할 수 있다.
다양한 실시 예에 따르면, 상술한 질의 응답 처리 방법은 질문하는 사용자별로 답변 또는 부가 정보를 전달할 외부 전자 장치의 종류 및 개수를 다르게 하는 동작을 포함할 수 있다.
도 11은 한 실시 예에 따른 전자 장치의 형태를 예시한 것이다.
도 11을 참조하면, 앞서 설명한 전자 장치(1101)은 로봇 형태의 전자 장치일 수 있다. 전자 장치(1101)은, 예를 들면, 페이싱 파트(facing part)(1110), 센서부(1120,1150,1180), 저장부(1130), 전원부(1140), 디스플레이부(1160), 통신부(1170), 및 구동부(1190)를 포함할 수 있다.
또한, 전자 장치(1101)는 스탠드얼론(standalone) 타입과 스마트폰 또는 태블릿 PC를 거치할 수 있는 도킹스테이션(docking station) 타입으로 나뉠 수 있다. 또한 전자 장치(1101)는 이동성 여부에 따라 고정/이동형 타입으로 구분되고, 이동형은 다시 적어도 하나의 바퀴를 구비하고 바퀴 회전에 따라 이동할 수 있는 휠 타입(wheel), 적어도 하나의 궤도를 포함하고, 궤도 회전에 따라 일정 방향으로 이동할 수 있는 무한궤도 타입(caterpillar), 적어도 하나의 다리를 포함하고 다리 보행을 통하여 일정 방향 또는 회전, 달리기, 점프 등을 수행할 수 있는 보행 타입(leg moving, 2족, 4족), 적어도 하나의 프로펠러를 포함하고 양력을 기반으로 부유할 수 있는 드론 타입(flying) 등의 형태로 나눌 수 있다.
상기 전자 장치(1101)는 적어도 하나 이상의 구동부(1190)를 가질 수 있으며, 상기 구동부(1190)는 전자 장치(1101)의 이동 및 다른 구성 요소를 기구적으로 변경하기 위하여 사용될 수 있다. 또한 구동부(1190)의 형태는 적어도 하나 이상의 축을 중심으로 하여 상/하 또는 좌/우의 움직임이 가능한 형태일 수 있으며 그 형태는 다양하게 구현될 수 있다.
상기 제어부(1120)(예: 상기 프로세서(120))는 전자 장치(1101)의 구동 및 서비스 제공을 위한 처리를 하기 위한 AP(application processor), CP(communication processor), GP(graphic processor), MCP(multi-chip package), IP(image processor)등을 적어도 하나 이상 포함 할 수 있다. 페이싱 파트(1110)는 사용자와 인터랙션하는 방향을 나타내는 곳으로 이미지 센싱을 위한 적어도 하나 이상의 다양한 센서가 포함된 센서부(1120, 1150, 1180)와, 음성을 취득하기 위한 적어도 하나 이상의 마이크, 기구적인 눈 구조, 화면 출력을 위한 디스플레이부(1160)를 포함할 수 있다. 페이싱 파트(1110)는 방향 구분이 되지 않는 형태에서는 불빛 또는 일시적인 기구 변경을 통하여 표시 할 수도 있으며, 사용자와 인터랙션 할 때 사용자 방향으로 향하는 적어도 하나 이상의 H/W 또는 기구 구조를 포함할 수 있다
도 12는 한 실시 예에 따른 전자 장치의 하드웨어 블록도의 한 예를 나타낸 도면이다.
전자 장치(1201)는, 예를 들면, 도 1 내지 도 11 등에서 설명하는 전자 장치의 전체 또는 일부를 포함할 수 있다. 전자 장치(1201)는 하나 이상의 프로세서(예: AP(application processor))(1210), 통신 모듈(1220), (가입자 식별 모듈(1224), 메모리(1230), 센서 모듈(1240), 입력 장치(1250), 디스플레이(1260), 인터페이스(1270), 오디오 모듈(1280), 행동 모듈(1290), 영상 인식 모듈(1295), 전력 관리 모듈(1295), 배터리(1296), 인디케이터(1297), 및 모터(1298) 를 포함할 수 있다.
프로세서(1210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(1210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(1210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(1210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서(1210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(1221))를 포함할 수도 있다. 프로세서(1210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈(1220)은, 도 1의 통신 인터페이스(170)와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(1220)은, 예를 들면, 셀룰러 모듈(1221), 근거리 통신 모듈(예: WiFi 모듈(1223), 블루투스 모듈(1225), NFC,Z-wave, 지그비 등)GNSS 모듈(1227)(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈(1228) 및 RF(radio frequency) 모듈(1229)를 포함할 수 있다.
셀룰러 모듈(1221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(1221)은 가입자 식별 모듈(예: SIM 카드)(1224)을 이용하여 통신 네트워크 내에서 전자 장치(1201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(1221)은 프로세서(1210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(1221)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.
WiFi 모듈(1223), 블루투스 모듈(1225), GNSS 모듈(1227) 또는 NFC 모듈(1228) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(1221), WiFi 모듈(1223), 블루투스 모듈(1225), GNSS 모듈(1227) 또는 NFC 모듈(1228) 중 적어도 일부(예: 두 개 이상)는 하나의 통합칩(integrated chip(IC)) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈(1229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(1229)은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(1221), WiFi 모듈(1223), 블루투스 모듈(1225), GNSS 모듈(1227) 또는 NFC 모듈(1228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈(1224)는은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(1230)(예: 메모리(130))는, 예를 들면, 내장 메모리(1232) 또는 외장 메모리(1234)를 포함할 수 있다. 내장 메모리(1232)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
외장 메모리(1234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리(1234)는 다양한 인터페이스를 통하여 전자 장치(1201)와 기능적으로 및/또는 물리적으로 연결될 수 있다.
센서 모듈(1240)은, 예를 들면, 물리량을 계측하거나 전자 장치(1201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(1240)은, 예를 들면, 제스처 센서(1240A), 자이로 센서(1240B), 기압 센서(1240C), 마그네틱 센서(1240D), 가속도 센서(1240E), 그립 센서(1240F), 근접 센서(1240G), 컬러(color) 센서(1240H)(예: RGB(red, green, blue) 센서), 생체 센서(1240I), 온/습도 센서(1240J), 조도 센서(1240K), 또는 UV(ultra violet) 센서(1240M), 9축 센서(1240P) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로(additionally or alternatively), 센서 모듈(1240)은, 예를 들면, 후각 센서(E-nose sensor), EMG 센서(electromyography sensor), EEG 센서(electroencephalogram sensor), ECG 센서(electrocardiogram sensor), IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(1240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(1201)는 프로세서(1210)의 일부로서 또는 별도로, 센서 모듈(1240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(1210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(1240)을 제어할 수 있다.
입력 장치(1250)는, 예를 들면, 터치 패널(touch panel)(1252), (디지털) 펜 센서(pen sensor)(1254), 키(key)(1256), 또는 초음파(ultrasonic) 입력 장치(1258)를 포함할 수 있다. 터치 패널(1252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(1252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(1252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서(1254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트(sheet)를 포함할 수 있다. 키(1256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(1258)는 마이크(예: 마이크(1288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(1260)(예: 디스플레이(160))는 패널(1262), 홀로그램 장치(1264), 프로젝터(1266), 또는 LED 지시자(1267)를 포함할 수 있다. 패널(1262)은, 도 1의 디스플레이(160)와 동일 또는 유사한 구성을 포함할 수 있다. 패널(1262)은, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널(1262)은 터치 패널(1252)과 하나의 모듈로 구성될 수도 있다. 한 실시예에 따르면, 패널(1262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서 (또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 상기 터치 패널(1252)와 일체형으로 구현되거나, 또는 상기 터치 패널(1252)와는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(1264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(1266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(1201)의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 디스플레이(1260)는 패널(1262), 홀로그램 장치(1264), 또는 프로젝터(1266)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스(1270)는, 예를 들면, HDMI(high-definition multimedia interface)(1272), USB(universal serial bus)(1274), 광 인터페이스(optical interface)(1276), 또는 D-sub(D-subminiature)(1278)를 포함할 수 있다. 인터페이스(1270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로(additionally and alternatively), 인터페이스(1270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure digital) 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(1280)은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(1280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(1280)은, 예를 들면, 스피커(1282)(또는 어레이 스피커), 리시버(1284), 이어폰(1286), 또는 마이크(1288)(또는 어레이 마이크) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
행동 모듈(1290)은 얼굴 표현 모터(1291), 몸 자세 모터(1292), 운동 모터(1293)를 포함할 수 있다.
영상 인식 모듈(1295)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 예를 들면, 상기 영상 인식 모듈(1295)은 2D 카메라(1296), 깊이 카메라(1297)(Depth Camera)을 포함할 수 있다.
전력 관리 모듈(1295)은, 예를 들면, 전자 장치(1201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(1295)은 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(1296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(1296)는, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터(1297)는 전자 장치(1201) 또는 그 일부(예: 프로세서(1210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(1298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치(1201)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 전자 장치의 구성요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 13은 한 실시 예에 따른 전자 장치 소프트웨어 블록도이다.
도 13을 참조하면, 전자 장치(1301)의 운영체제, 시스템 소프트웨어 블록(1310)은 전자 장치(1301)의 리소스 분배 및 잡스케쥴링 프로세스 처리 등 일반적인 운영체제의 역할을 함과 동시에 다양한 하드웨어(H/W) 장치(카메라(1392, 1393), 센서(1394, 1395), 마이크(1396) 등)들을 제어하고 하드웨어 장치에서 입력된 신호들을 처리하는 역할을 담당한다. 미들웨어(Middleware) 블록(1321)은 상기 신호 처리된 데이터를 이용하여 사용자의 얼굴 위치를 검출하고 추적하거나 얼굴 인식을 통한 인증을 수행, 사용자의 3D 제스처 인식, 오디오 신호에 대한 입력 위치 추적(DOA, Direct of Arrival), 음성 인식 및 각 종 센서 데이터들의 신호를 처리하는 역할을 한다. 이와 관련한 미들웨어 블록(1321)은 제스처 인식 블록(1321), 얼굴 검출/추적/인식 블록(1322), 센서 정보 처리 블록(1323), 대화 엔진 블록(1324), 음성 합성 블록(1325), 음원 추적 블록(1326), 음성 인식 블록(1327) 등을 포함할 수 있다.
인텔리전트 프레임워크(Intelligent Framework)(1330)은 멀티모달 융합 블록(1331), 사용자 패턴학습 블록(1333), 행동제어블록(1335)을 포함할 수 있다. 멀티모달 융합 블록(1331)은 미들웨어 블록(1321)에서 처리된 각종 정보를 취합하고 관리하는 역할을 한다. 사용자 패턴 학습 블록(1333)은 멀티 모달 융합 블록(1331)의 정보를 이용하여 사용자의 생활 패턴, 선호도 등의 유의미한 정보를 추출하고 학습하는 역할을 한다. 행동제어블록(1335)은 전자 장치(1301)가 사용자에게 피드백할 정보를 전자 장치(1301)의 움직임, 그래픽(UI/UX), Light, 음성 응답, 소리 등으로 표현하는 역할을 한다. 이와 관련하여, 인텔리전트 프레임워크(1330)는 모터(1337), 디스플레이(1336), 스피커(1338)와 연결될 수 있다. 그 외 인텔리전트 프레임워크(1330)에 학습한 정보를 사용자에 따라 저장하는 사용자 모델 데이터베이스(1341)와 전자 장치(1301)의 행동제어를 위한 행동 모델 데이터베이스(1342) 및 기타 정보를 저장하는 저장소(1343)로 구성될 수 있으며 해당 데이터베이스들은 네트워크(클라우드)(1309)를 통해 저장되거나 공유될 수도 있다. 네트워크(1309)는 모바일 장치(1391)와 연결될 수 있다.
도 14는 다양한 실시 예에 따른 프로그램 모듈의 블록도의 다른 예를 나타낸다.
도 14를 참조하면, 한 실시 예에 따르면, 프로그램 모듈(1410)(예: 프로그램(1240))은 앞서 설명한 전자 장치에 관련된 자원을 제어하는 운영 체제(OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램)을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(Android), 아이오에스(iOS), 윈도우즈(Windows), 심비안(Symbian), 타이젠(Tizen), 또는 바다(Bada) 등이 될 수 있다.
프로그램 모듈(1410)은 커널(1420), 미들웨어(1430), API(1460), 및/또는 어플리케이션(1470)을 포함할 수 있다. 프로그램 모듈(1410)의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 외부 전자 장치(200), 서버 등)로부터 다운로드 가능하다.
커널(1420)은, 예를 들면, 시스템 리소스 매니저(1421) 또는 디바이스 드라이버(1423)를 포함할 수 있다. 시스템 리소스 매니저(1421)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저(1421)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버(1423)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어(1430)는, 예를 들면, 어플리케이션(1470)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(1470)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(1460)을 통해 다양한 기능들을 어플리케이션(1470)으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어(1430)은 런타임 라이브러리(1435), 어플리케이션 매니저(application manager)(1441), 윈도우 매니저(window manager)(1442), 멀티미디어 매니저(multimedia manager)(1443), 리소스 매니저(resource manager)(1444), 파워 매니저(power manager)(1445), 데이터베이스 매니저(database manager)(1446), 패키지 매니저(package manager)(1447), 연결 매니저(connectivity manager)(1448), 통지 매니저(notification manager)(1449), 위치 매니저(location manager)(1450), 그래픽 매니저(graphic manager)(1451), 보안 매니저(security manager)(1452), 또는 결제 매니저(1454) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(1435)는, 예를 들면, 어플리케이션(1470)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(1435)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저(1441)는, 예를 들면, 어플리케이션(1470) 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(1442)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(1443)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저(1444)는 어플리케이션(1470) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저(1445)는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저(1446)은 어플리케이션(1470) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(1447)은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저(1448)은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저(1449)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(1450)은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(1451)은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(1452)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치(1001))가 전화 기능을 포함한 경우, 미들웨어(1430)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
미들웨어(1430)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어(1430)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어(1430)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API(1460)은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(1470)은, 예를 들면, 홈(1471), 다이얼러(1472), SMS/MMS(1473), IM(instant message)(1474), 브라우저(1475), 카메라(1476), 알람(1477), 컨택트(1478), 음성 다이얼(1479), 이메일(1480), 달력(1481), 미디어 플레이어(1482), 앨범(1483), 또는 시계(1484), 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션(1470)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 어플리케이션(1470)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(1470)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(1470)은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈(1410)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 프로그램 모듈(1410)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈(1410)의 적어도 일부는, 예를 들면, 프로세서에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈(1410)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.도 15는 한 실시 예에 따른 전자 장치의 음성 인식 및/또는 출력을 설명하는 도면이다.
도 15를 참조하면, 전자 장치(1500)는 송신자(1501)로부터 메시지(1502)를 수신할 수 있다. 전자 장치(1500)는 메시지(1502)를 음성으로 쿼리(query)(1503)하여 음성 인식(acoustic speech recognition)(1504)할 수 있다. 또는, 전자 장치(1500)는 메시지(1502)의 메타데이터를 쿼리(1503)하여 정보 분석(information analysis)(1507)을 수행할 수 있다. 특히, 전자 장치(1500)는 센싱 모듈(1508)을 통하여 정보 분석(1507)을 수행하여 수집된 정보로 수신자(1550)를 결정할 수 있다. 아울러, 전자 장치(1500)는 속성 결정(1506)에 수신자(1550)에 대한 정보를 이용할 수도 있다.
전자 장치(1500)는 음성 인식(1504)를 수행한 결과로 텍스트를 획득할 수 있으며, 이를 쿼리로 하여 자연어 이해 및 대화 관리(natural language understanding:NLU/dialog management:DM)(1505)를 수행할 수 있다. 여기에서, 자연어 이해 및 대화 관리를 통하여 텍스트를 문장으로 인식할 수 있다. 전자 장치(1500)는 자연어 이해 및 대화 관리(1505)를 통하여 획득된 인텐트(intent), 파라미터(parameter) 및 콘텐츠(content) 중 적어도 하나를 속성 선택(persona selection)(1506)에 이용할 수 있다. 전자 장치(1500)는 메시지(1502) 자체의 쿼리(1503)를 속성 결정(1506)에 이용할 수도 있다.
전자 장치(1500)는 결정된 속성에 기초하여 NLG(natural language generator)(1509)를 통하여 적어도 하나의 언어 모델(1520) 중 하나를 선택할 수 있다. 예를 들어, 전자 장치(1500)는 적어도 하나의 텍스트 생성 변수를 결정할 수 있다.
전자 장치(1500)는 결정된 속성에 기초하여 적어도 하나의 행동 모델(1530) 중 하나를 선택할 수 있다. 예를 들어, 전자 장치(1500)는 적어도 하나의 행동 변수를 결정할 수 있다.
전자 장치(1500)는 결정된 속성에 기초하여 적어도 하나의 어쿠스틱 모델(1540) 중 하나를 선택할 수 있다. 예를 들어, 전자 장치(1500)는 NLG(1509)를 통하여 텍스트 변환된 메시지를 출력할 적어도 하나의 목소리 생성 변수를 결정할 수 있다. 전자 장치(1500)는 선택된 어쿠스틱 모델에 따라서 음성 응답(sound response)을 출력할 수 있다. 전자 장치(1500)는 음성 합성(1510)(예: TTS)을 수행하여 음성 응답을 출력할 수 있다.
상술한 바에 따라서, 전자 장치(1500)는 적어도 하나 이상의 엔티티 사이의 관계 또는 전달하고자 하는 내용에 따라 NLG, TTS 모듈 상의 인자를 변경하여 인터랙션 하는 사용자에게 다이나믹한 결과를 제공할 수 있다.
전자 장치(1500)는 속성 선택(1506) 과정에서, 전달하고자 하는 메시지의 컨텐츠 뿐 아니라, 적어도 한 명 이상의 사용자 및 환경을 식별하기 위한 비전, 음성 등의 센서, 연결(connectivity), 개인 프로파일 데이터 등을 활용할 수 있다. 상기 언어 모델(1520)의 경우 수신자 및 전자 장치(1500)에 따라 다른 언어 모델이 결정될 수 있다. 예를 들어, 수신자와 전자 장치(1500)의 관계가 사전 설정 또는 학습에 의하여 친구로 설정되어 있는 경우 친근감을 나타내는 단어와 문장 구성을 위한 언어 모델이 선택될 수 있으며, 사용자에게 전달해야 하는 메시지에 따라 긴급한 메시지는 빠르고 명료한 톤의 특징을 갖는 어쿠스틱 모델이 선택되어 언어 변환될 수 있다. 또 다른 실시 예로는, 전자 장치(1500)가 수신자가 고주파 대역의 음성을 듣기에 취약한 정보에 기초하여, 저주파 대역의 음성의 어쿠스틱 모델로 변조하여 음성을 출력할 수도 있다.
상술한 로봇 전자 장치는 입력 받은 음성 질문을 분석하는 과정을 거쳐서 진행중인 QA결과에 대해서 단답형이나 순차적인 대답인지 판단하는 과정을 수행할 수 있다. 상기 로봇 전자 장치는 단답형 질문이 아니라고 판단되면 결과에 대한 적절한 답변방식을 결정할 수 있다. 예를 들면, 로봇 전자 장치는 WIKI URL/관련 URL을 WIFI, BT, Sound QR를 통해서 QR코드를 휴대용 장치에 전달 하거나 화면을 출력 가능한 형태로 전달할 수 있다. 또는, 로봇 전자 장치는 JSON 형태의 답을 출력 가능한 형태의 파일로 변환(DOC, JPG, PDF 등)하여 휴대용 장치에 전달할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예를 들면, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
상술한 다양한 실시 예에 따르면, 한 실시 예에 따른 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체에 있어서, 적어도 하나의 명령어가 상기 저장 매체에 저장되고, 상기 명령어는 프로세서에 의해 실행될 경우, 전자 장치의 사용자에 대응하는 음성 신호를 획득하는 동작, 상기 음성 신호 획득과 연관하여, 상기 사용자와 관련된 상황 정보를 확인하는 동작, 상기 상황 정보가 제1 지정된 조건 또는 제2 지정된 조건을 만족하는지 확인하는 동작, 상기 상황 정보가 제 1 지정된 조건을 만족하면, 상기 음성 신호에 대응하는 제 1 응답 정보의 적어도 일부 출력하고, 상기 상황 정보가 제 2 지정된 조건을 만족하면, 상기 음성 신호에 대응하는 제 2 응답 정보의 적어도 일부를 출력하는 동작을 수행하도록 설정될 수 있다.
상술한 다양한 실시 예에 따르면, 한 실시 예에 따른 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체에 있어서, 적어도 하나의 명령어가 상기 저장 매체에 저장되고, 상기 명령어는 프로세서에 의해 실행될 경우, 사용자 음성 신호를 수집하는 동작, 상기 수집된 음성 신호를 텍스트로 변환하는 동작, 상기 변환된 텍스트에 대응하는 질문 또는 상기 질문에 대응하는 답을 상기 메모리에 저장된 데이터를 기반으로 검색하는 동작, 상기 검색된 질문 또는 답의 속성 정보를 수집하는 동작, 상기 답 및 상기 속성 정보를 기반으로 부가 정보를 생성하는 동작, 상기 답 또는 상기 부가 정보 중 적어도 하나를 출력하는 동작을 수행하도록 설정될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 전자 장치로서,
    오디오 장치;
    이미지 센서;
    질문 및 응답을 저장하는 메모리;
    상기 오디오 장치, 상기 이미지 센서, 및 상기 메모리에 기능적으로 연결되는 프로세서;를 포함하고,
    상기 프로세서는
    상기 오디오 장치를 이용하여 획득된 음성 신호를 텍스트로 변환하고,
    상기 변환된 텍스트에 대응하는 응답을 상기 메모리에 저장된 데이터베이스를 기반으로 검색하고,
    상기 검색된 응답에 대응하는 상기 데이터베이스 내의 분류에 기반하여 상기 응답의 속성 정보를 획득하고,
    상기 검색된 응답의 지정된 단어 또는 지정된 숫자의 포함 여부에 기반하여, 상기 검색된 응답이 시계열적 응답인지 결정하고,
    상기 검색된 응답이 상기 시계열적 응답이 아니면, 상기 검색된 응답의 상기 속성 정보 및 상기 전자 장치의 사용자의 상황 정보에 공통되는 부가 정보를 생성하고, 및 상기 응답 및 상기 부가 정보를 출력하고,
    상기 검색된 응답이 상기 시계열적 응답이면, 상기 시계열적 응답의 첫번째 단계를 출력한 뒤, 상기 첫번째 단계 내의 단어에 대응하는 제스쳐의 획득을 대기하고, 상기 이미지 센서를 이용하여 상기 제스쳐가 획득되면 상기 시계열적 응답의 두번째 단계를 출력하도록 설정된 전자 장치.
  9. 삭제
  10. 제8항에 있어서,
    상기 프로세서는
    상기 부가 정보를 음성 신호로 변환하고, 상기 변환된 음성 신호를 출력하도록 설정된 전자 장치.
  11. 제10항에 있어서,
    상기 프로세서는
    상기 부가 정보 중 음성 신호 변환이 되지 않는 정보를 지정된 기기의 화면으로 출력하도록 설정된 전자 장치.
  12. 제8항에 있어서,
    상기 프로세서는
    상기 부가 정보가 저장된 저장 위치에 해당하는 주소 정보를 지정된 기기의 화면에 출력하도록 설정된 전자 장치.
  13. 삭제
  14. 삭제
  15. 전자 장치의 질의 응답 처리 방법으로서,
    사용자 음성 신호를 획득하는 동작;
    상기 획득된 음성 신호를 텍스트로 변환하는 동작;
    상기 변환된 텍스트에 대응하는 응답을 상기 전자 장치와 기능적으로 연결된 메모리에 저장된 데이터베이스를 기반으로 검색하는 동작;
    상기 검색된 응답에 대응하는 상기 데이터베이스 내의 분류에 기반하여 상기 응답의 속성 정보를 획득하는 동작;
    상기 검색된 응답의 지정된 단어 또는 지정된 숫자의 포함 여부에 기반하여, 상기 검색된 응답이 시계열적 응답인지 결정하는 동작;
    상기 검색된 응답이 상기 시계열적 응답이 아니면, 상기 검색된 응답의 상기 속성 정보 및 상기 전자 장치의 사용자의 상황 정보에 공통되는 부가 정보를 생성하고, 상기 응답 및 상기 부가 정보를 출력하는 동작; 및
    상기 검색된 응답이 상기 시계열적 응답이면, 상기 시계열적 응답의 첫번째 단계를 출력한 뒤, 상기 첫번째 단계 내의 단어에 대응하는 제스쳐의 획득을 대기하고, 상기 전자 장치의 이미지 센서를 이용하여 상기 제스쳐가 획득되면 상기 시계열적 응답의 두번째 단계를 출력하는 동작;을 포함하는 질의 응답 처리 방법.
  16. 삭제
  17. 제15항에 있어서,
    상기 응답 및 상기 부가 정보를 출력하는 동작은 상기 부가 정보 중 음성 신호 변환이 되지 않는 정보를 지정된 기기의 화면으로 출력하거나 상기 부가 정보가 저장된 저장 위치에 해당하는 주소 정보를 지정된 기기의 화면에 출력하는 동작;을 포함하는 질의 응답 처리 방법.
  18. 제15항에 있어서,
    상기 응답 및 상기 부가 정보를 출력하는 동작은 상기 부가 정보를 음성 신호로 변환하고 상기 변환된 음성 신호를 출력하는 동작;을 포함하는 질의 응답 처리 방법.
  19. 삭제
  20. 삭제
KR1020150167100A 2015-11-27 2015-11-27 질의 응답 처리 방법 및 이를 지원하는 전자 장치 KR102558437B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150167100A KR102558437B1 (ko) 2015-11-27 2015-11-27 질의 응답 처리 방법 및 이를 지원하는 전자 장치
CN201680068844.7A CN108292317B (zh) 2015-11-27 2016-11-21 问题和答案处理方法以及支持该方法的电子设备
PCT/KR2016/013414 WO2017090947A1 (en) 2015-11-27 2016-11-21 Question and answer processing method and electronic device for supporting the same
EP16868843.0A EP3332338A4 (en) 2015-11-27 2016-11-21 Question and answer processing method and electronic device for supporting the same
US15/360,050 US10446145B2 (en) 2015-11-27 2016-11-23 Question and answer processing method and electronic device for supporting the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150167100A KR102558437B1 (ko) 2015-11-27 2015-11-27 질의 응답 처리 방법 및 이를 지원하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20170061923A KR20170061923A (ko) 2017-06-07
KR102558437B1 true KR102558437B1 (ko) 2023-07-24

Family

ID=58763335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150167100A KR102558437B1 (ko) 2015-11-27 2015-11-27 질의 응답 처리 방법 및 이를 지원하는 전자 장치

Country Status (5)

Country Link
US (1) US10446145B2 (ko)
EP (1) EP3332338A4 (ko)
KR (1) KR102558437B1 (ko)
CN (1) CN108292317B (ko)
WO (1) WO2017090947A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017146437A (ja) * 2016-02-17 2017-08-24 本田技研工業株式会社 音声入力処理装置
US10880833B2 (en) * 2016-04-25 2020-12-29 Sensory, Incorporated Smart listening modes supporting quasi always-on listening
US10621992B2 (en) * 2016-07-22 2020-04-14 Lenovo (Singapore) Pte. Ltd. Activating voice assistant based on at least one of user proximity and context
US10916243B2 (en) * 2016-12-27 2021-02-09 Amazon Technologies, Inc. Messaging from a shared device
KR20180098079A (ko) 2017-02-24 2018-09-03 삼성전자주식회사 비전 기반의 사물 인식 장치 및 그 제어 방법
JP6621776B2 (ja) * 2017-03-22 2019-12-18 株式会社東芝 検証システム、検証方法及びプログラム
US10664533B2 (en) 2017-05-24 2020-05-26 Lenovo (Singapore) Pte. Ltd. Systems and methods to determine response cue for digital assistant based on context
CN107666539A (zh) * 2017-10-12 2018-02-06 广东小天才科技有限公司 一种穿戴设备的信息处理方法及穿戴设备
US11360736B1 (en) * 2017-11-03 2022-06-14 Amazon Technologies, Inc. System command processing
KR102561712B1 (ko) * 2017-12-07 2023-08-02 삼성전자주식회사 음성 인식 장치 및 그 동작 방법
CN110415688B (zh) * 2018-04-26 2022-02-08 杭州萤石软件有限公司 一种信息交互方法及机器人
CN108875055B (zh) * 2018-06-28 2021-12-24 联想(北京)有限公司 一种答案提供方法及设备
WO2020022723A1 (ko) * 2018-07-20 2020-01-30 삼성전자주식회사 전자 장치 및 그의 제어 방법
KR102008992B1 (ko) * 2018-08-08 2019-08-08 주식회사 커넥트닷 챗봇을 이용한 부동산 거래 비서 서비스 장치 및 방법
US11532007B2 (en) 2018-08-16 2022-12-20 Frank S. Maggio Systems and methods for implementing user-responsive reactive advertising via voice interactive input/output devices
KR102536057B1 (ko) * 2018-08-28 2023-05-26 십일번가 주식회사 이미지 검색을 위한 요약 정보 제공 방법 및 이를 지원하는 서비스 장치
US11040441B2 (en) * 2018-09-20 2021-06-22 Sony Group Corporation Situation-aware robot
CN110163576A (zh) * 2019-05-22 2019-08-23 郑州智通互联电子有限公司 一种基于云网络的校园考勤管理系统
WO2021133155A1 (en) * 2019-12-23 2021-07-01 Mimos Berhad System and method for managing voice query of a presentation
JP2021123133A (ja) * 2020-01-31 2021-08-30 トヨタ自動車株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN113468176B (zh) * 2021-06-30 2023-09-26 北京百度网讯科技有限公司 信息录入方法和装置、电子设备、计算机可读存储介质
CN114372215B (zh) * 2022-01-12 2023-07-14 抖音视界有限公司 一种搜索结果展示、搜索请求处理方法及装置
CN114579820A (zh) * 2022-03-21 2022-06-03 徐涛 在人机对话中提取语境特征的方法及装置
CN114580375B (zh) * 2022-05-09 2022-08-12 南京赛宁信息技术有限公司 一种分布式在线比赛主观题阅卷及评分方法与系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108581A (ja) * 2001-09-27 2003-04-11 Mitsubishi Electric Corp 対話型情報検索装置および対話型情報検索方法
JP2005189363A (ja) * 2003-12-25 2005-07-14 Toshiba Corp 質問応答システムおよびプログラム
US20120072219A1 (en) * 2010-09-22 2012-03-22 At & T Intellectual Property I, L.P. System and method for enhancing voice-enabled search based on automated demographic identification
US20120078938A1 (en) 2008-12-05 2012-03-29 Yahoo! Inc. System and method for context based query augmentation
US20140074466A1 (en) * 2012-09-10 2014-03-13 Google Inc. Answering questions using environmental context

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7417650B1 (en) * 2000-03-16 2008-08-26 Microsoft Corporation Display and human-computer interaction for a notification platform
KR100474252B1 (ko) * 2002-10-11 2005-03-10 한국전자통신연구원 전자 프로그램 가이드 제공 시스템 및 그 방법
US20070136222A1 (en) * 2005-12-09 2007-06-14 Microsoft Corporation Question and answer architecture for reasoning and clarifying intentions, goals, and needs from contextual clues and content
US7941753B2 (en) * 2006-03-31 2011-05-10 Aol Inc. Communicating appointment and/or mapping information among a calendar application and a navigation application
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8175248B2 (en) * 2007-01-29 2012-05-08 Nuance Communications, Inc. Method and an apparatus to disambiguate requests
KR20090069133A (ko) * 2007-12-24 2009-06-29 한국전자통신연구원 이동 단말기 및 그 제어방법
US20100178956A1 (en) * 2009-01-14 2010-07-15 Safadi Rami B Method and apparatus for mobile voice recognition training
KR20110114797A (ko) * 2010-04-14 2011-10-20 한국전자통신연구원 음성을 이용한 모바일 검색 장치 및 방법
CN103229120A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用假设剪枝提供问题答案
US9161166B2 (en) * 2012-02-24 2015-10-13 Blackberry Limited Method and apparatus for interconnected devices
KR101309794B1 (ko) * 2012-06-27 2013-09-23 삼성전자주식회사 디스플레이 장치, 디스플레이 장치의 제어 방법 및 대화형 시스템
CN103020047A (zh) * 2012-12-31 2013-04-03 威盛电子股份有限公司 修正语音应答的方法及自然语言对话系统
CN103019389B (zh) * 2013-01-12 2016-05-18 福建华映显示科技有限公司 手势辨识系统及手势辨识方法
KR20140123369A (ko) 2013-04-12 2014-10-22 얄리주식회사 음성인식 질의응답 시스템 및 그것의 운용방법
US10176167B2 (en) * 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
JP6178208B2 (ja) * 2013-10-28 2017-08-09 株式会社Nttドコモ 質問分野判定装置及び質問分野判定方法
KR101491843B1 (ko) * 2013-11-13 2015-02-11 네이버 주식회사 대화 기반 검색 도우미 시스템 및 그 방법
US20150162000A1 (en) * 2013-12-10 2015-06-11 Harman International Industries, Incorporated Context aware, proactive digital assistant
US20160012475A1 (en) * 2014-07-10 2016-01-14 Google Inc. Methods, systems, and media for presenting advertisements related to displayed content upon detection of user attention

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108581A (ja) * 2001-09-27 2003-04-11 Mitsubishi Electric Corp 対話型情報検索装置および対話型情報検索方法
JP2005189363A (ja) * 2003-12-25 2005-07-14 Toshiba Corp 質問応答システムおよびプログラム
US20120078938A1 (en) 2008-12-05 2012-03-29 Yahoo! Inc. System and method for context based query augmentation
US20120072219A1 (en) * 2010-09-22 2012-03-22 At & T Intellectual Property I, L.P. System and method for enhancing voice-enabled search based on automated demographic identification
US20140074466A1 (en) * 2012-09-10 2014-03-13 Google Inc. Answering questions using environmental context

Also Published As

Publication number Publication date
CN108292317A (zh) 2018-07-17
US20170154626A1 (en) 2017-06-01
CN108292317B (zh) 2022-05-24
US10446145B2 (en) 2019-10-15
EP3332338A4 (en) 2018-08-15
KR20170061923A (ko) 2017-06-07
EP3332338A1 (en) 2018-06-13
WO2017090947A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
KR102558437B1 (ko) 질의 응답 처리 방법 및 이를 지원하는 전자 장치
US11561763B2 (en) Electronic device for processing multi-modal input, method for processing multi-modal input and server for processing multi-modal input
KR102453603B1 (ko) 전자 장치 및 그 제어 방법
CN110199350B (zh) 用于感测语音结束的方法和实现该方法的电子设备
CN107637025B (zh) 用于输出消息的电子装置及其控制方法
KR102414122B1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 동작 방법
US10217349B2 (en) Electronic device and method for controlling the electronic device
CN108023934B (zh) 电子装置及其控制方法
KR102264050B1 (ko) 전자 장치들 간에 기능을 공유하는 방법 및 장치
EP3593347B1 (en) Method for operating speech recognition service and electronic device supporting the same
CN108351890B (zh) 电子装置及其操作方法
US20180143802A1 (en) Method for processing various inputs, and electronic device and server for the same
KR20180083587A (ko) 전자 장치 및 그의 동작 방법
KR102383791B1 (ko) 전자 장치에서의 개인 비서 서비스 제공
KR102561572B1 (ko) 센서 활용 방법 및 이를 구현한 전자 장치
KR20160071732A (ko) 음성 입력을 처리하는 방법 및 장치
KR102389996B1 (ko) 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
KR20170089178A (ko) 전자 장치, 전자 장치의 음성 인식 방법
KR102343084B1 (ko) 전자 장치 및 전자 장치의 기능 실행 방법
US20200326832A1 (en) Electronic device and server for processing user utterances
KR20170027589A (ko) 기능 제어 방법 및 그 방법을 처리하는 전자 장치
KR20190018886A (ko) 음성 인식을 수행하는 방법 및 이를 사용하는 전자 장치
KR20170060567A (ko) 전자 장치 및 그 제어 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant