KR20190142219A - 사용자의 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법 - Google Patents

사용자의 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20190142219A
KR20190142219A KR1020190068263A KR20190068263A KR20190142219A KR 20190142219 A KR20190142219 A KR 20190142219A KR 1020190068263 A KR1020190068263 A KR 1020190068263A KR 20190068263 A KR20190068263 A KR 20190068263A KR 20190142219 A KR20190142219 A KR 20190142219A
Authority
KR
South Korea
Prior art keywords
response
user
information
input
content
Prior art date
Application number
KR1020190068263A
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 CN201980028072.8A priority Critical patent/CN112041787A/zh
Priority to PCT/KR2019/007284 priority patent/WO2019240562A1/en
Priority to EP19820324.2A priority patent/EP3776149A4/en
Priority to US16/443,014 priority patent/US20200005784A1/en
Publication of KR20190142219A publication Critical patent/KR20190142219A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • 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/174Facial expression recognition
    • G06V40/176Dynamic expression
    • 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/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/011Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns

Landscapes

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

Abstract

사용자로부터 입력을 수신하고, 입력과 대응되는 응답인, 제1 컨텐츠를 포함하는 제1 응답을 생성하고, 사용자에 관한 상황 정보를 획득하고, 상황 정보에 기초하여, 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는, 입력과 대응되는 응답인 제2 응답을 생성하고, 제1 응답 및 상기 제2 응답을 결합하고, 입력에 대한 응답으로서, 결합된 응답을 출력하는, 전자 장치에서 사용자의 입력에 대한 응답을 출력하는 방법이 제공된다.

Description

사용자의 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법 {Electronic device and operating method for outputting a response for an input of a user, by using application}
본 개시는, 사용자의 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법에 관한 것이다.
전자 장치는 사용자의 입력에 대응되는 응답을 출력할 수 있다. 이때, 전자 장치는, 사용자의 상황 정보를 더 고려하여 사용자에게 더 적합한 내용을 포함하는 응답을 출력할 수 있다.
그러나, 사용자의 상황 정보는 실시간으로 지속하여 변동될 수 있는 정보이므로, 사용자의 상황 정보를 고려하여 응답이 생성되더라도, 사용자의 상황 정보가 실시간으로 변동됨에 의해, 사용자의 현재 상황에 적절하지 않은 응답이 제공될 수 있다.
따라서, 실시간으로 변동되는 사용자의 상황 정보에 기초하여, 사용자 입력에 대한 적절한 응답을 제공하는 방법이 요구되고 있다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 사용자의 입력에 대한 적절한 응답을 출력하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품을 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 사용자로부터 입력을 수신하는 단계; 상기 입력과 대응되는 응답인, 제1 컨텐츠를 포함하는 제1 응답을 생성하는 단계; 상기 사용자에 관한 상황 정보를 획득하는 단계; 상기 상황 정보에 기초하여, 상기 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는, 상기 입력과 대응되는 응답인 제2 응답을 생성하는 단계; 상기 제1 응답 및 상기 제2 응답을 결합하는 단계; 및 상기 입력에 대한 응답으로서, 상기 결합된 응답을 출력하는 단계를 포함하는, 전자 장치에서 사용자의 입력에 대한 응답을 출력하는 방법을 제공한다.
또한, 본 개시의 제2 측면은, 사용자로부터 입력을 수신하는 사용자 입력부; 상기 입력과 대응되는 응답인, 제1 컨텐츠를 포함하는 제1 응답을 생성하고, 상기 사용자에 관한 상황 정보를 획득하고, 상기 상황 정보에 기초하여, 상기 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는, 상기 입력과 대응되는 응답인 제2 응답을 생성하고, 상기 제1 응답 및 상기 제2 응답을 결합하는 적어도 하나의 프로세서; 및 상기 입력에 대한 응답으로서, 상기 결합된 응답을 출력하는 출력부를 포함하는, 사용자의 입력에 대한 응답을 출력하는 전자 장치를 제공한다.
또한, 본 개시의 제3 측면은, 제1 측면의 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 제품을 제공할 수 있다.
일 실시 예에 의하면, 사용자의 입력에 대한 기본적인 응답과 함께, 상황 정보에 기초하여 생성된 부가적인 응답이 제공됨에 따라, 사용자에게 더 적절한 응답이 제공될 수 있다.
도 1은 일 실시 예에 의한 사용자의 입력에 대한 응답을 제공하는 시스템을 설명하기 위한 도면이다.
도 2는 일 실시 예에 의한 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시 예에 의한 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 4는 일 실시 예에 의한 프로세서의 내부 구성을 설명하기 위한 도면이다.
도 5는 일 실시 예에 의한 사용자 입력에 대한 응답을 출력하는 방법을 나타낸 순서도이다.
도 6은 일 실시 예에 따라 제2 응답을 생성하는 일 예를 나타낸 도면이다.
도 7은 일 실시 예에 의한 제2 응답을 생성하기 위한 제2 데이터를 생성하는 일 예를 나타낸 도면이다.
도 8은 일 실시 예에 따라 피드백 정보를 획득하는 일 예를 나타낸 도면이다.
도 9는 일 실시 예에 의한 제2 컨텐츠를 포함하는 제2 응답을 생성하는 방법을 나타낸 순서도이다.
도 10은 일 실시 예에 의한 제2 응답을 생성하기 위한 생성 모델을 학습하는 방법의 일 예를 나타낸 도면이다.
도 11은 일 실시 예에 의한 생성 모델을 학습하는 방법에 대한 일 예를 나타낸 도면이다.
도 12는 일 실시 예에 의한 전자 장치에서 사용자 입력에 대한 응답을 출력하는 일 예를 나타낸 도면이다.
도 13은 일 실시 예에 의한 사용자에 관한 프로필 정보에 기초하여, 사용자에 관한 상황 정보를 획득하는 일 예를 나타낸 도면이다.
도 14는 일 실시 예에 의한 사용자에 관한 프로필 정보에 기초하여 제2 응답을 생성하는 일 예를 나타낸 도면이다.
도 15는 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
도 16은 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
도 17은 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
도 18은 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 의한 사용자의 입력에 대한 응답을 제공하는 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시 예에 따른 사용자의 입력에 대한 응답을 제공하는 시스템은, 전자 장치(1000)를 포함할 수 있다. 전자 장치(1000)는 사용자로부터 입력(100)을 수신하고, 수신된 입력(100)에 대한 응답을 출력할 수 있다.
일 실시 예에 따른 전자 장치(1000)는 사용자로부터 입력(100)을 수신하고, 수신된 입력(100)에 대한 응답을 출력할 수 있는 장치로, 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 전자 장치(1000)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 인공지능 스피커 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
본 명세서에서 기술되는 전자 장치(1000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이하에서는, 설명의 편의상, 전자 장치(1000)가 스마트 폰인 경우를 예로 들어 설명하기로 한다.
일 실시예에 의하면, 전자 장치(1000)에서 입력에 대한 응답을 제공하기 위해 어플리케이션이 이용될 수 있다. 상기 어플리케이션은 사용자로부터 음성 입력을 수신하고, 사용자의 음성 입력에 대한 응답을 출력하는 대화형 인터페이스를 제공할 수 있다. 일 실시예에 의한 어플리케이션은 가상 비서(Virtual assistant), 인공지능 비서 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 가상 비서 또는 인공지능 비서는 사용자가 요구하는 작업을 처리하고 사용자에게 특화된 서비스를 제공하는 소프트웨어 에이전트일 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는, 사용자의 입력(100)에 대한 응답을 생성하고, 생성된 응답을 출력할 수 있다.
일 실시 예에 의한 사용자의 입력(100)은 소정의 정보를 획득하기 위한 질의를 포함할 수 있다. 또한, 일 실시 예에 의한 사용자의 입력(100)은 전자 장치(1000)를 제어하기 위한 명령어를 포함할 수 있다. 상술한 예에 한하지 않고, 일 실시 예에 의한 입력(100)은 사용자에 의해 전자 장치(1000)에서 수신될 수 있는 다양한 목적의 입력을 포함할 수 있다.
일 실시 예에 의한 사용자의 입력(100)은, 사용자에 의해 전자 장치(1000)에서 수신될 수 있으며, 예를 들면, 음성 입력, 텍스트 입력, 제스쳐 입력, 다양한 종류의 센서를 통한 입력 등을 통해 전자 장치(1000)에서 수신될 수 있다. 상술한 예에 한하지 않고, 사용자의 입력(100)은 다양한 입력 방법을 통해 전자 장치(1000)로 입력될 수 있다.
일 실시 예에 의한 응답은, 제1 컨텐츠를 포함하는 제1 응답 및 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는 제2 응답이 결합됨으로써 생성될 수 있다. 상기 제1 응답은, 사용자의 입력과 대응되는 응답 정보를 포함하는 제1 컨텐츠로 구성될 수 있다. 또한, 제2 응답은, 사용자의 입력과 대응되는 응답으로서, 사용자에 관한 상황 정보에 기초하여 생성된, 제1 컨텐츠의 타입과는 다른 타입의 제2 컨텐츠로 구성될 수 있다.
일 실시 예에 의한 제2 응답은, 제1 컨텐츠의 타입과는 다른 타입의 제2 컨텐츠뿐만 아니라, 상황 정보에 기초하여 생성된, 제1 컨텐츠의 타입과 동일한 타입의 적어도 하나의 컨텐츠를 더 포함할 수도 있다.
일 실시 예에 의한 사용자에 관한 상황 정보는, 사용자에 관한 다양한 정보로서, 예를 들면, 사용자의 행동 특성, 사용자의 개인적 특성(ex. 나이, 직업 등)에 관한 정보, 사용자의 선호도, 사용자의 관심사에 관한 정보, 사용자의 미적 취향에 관한 정보, 사용자의 주변 환경에 관한 정보, 사용자의 상태에 관한 정보, 사용자의 SNS(social network service) 계정에 관한 정보, SNS 활동에 관한 정보, 전자 장치(1000)의 동작 상태에 관한 정보, 사용자의 위치 정보 및 전자 장치(1000)의 위치 정보 중 적어도 하나를 포함할 수 있다. 상술한 예에 한하지 않고, 사용자에 관한 상황 정보는, 사용자의 상황을 나타내는 다양한 종류의 정보를 포함할 수 있다.
따라서, 일 실시 예에 의하면, 사용자의 상황 정보가 고려되지 않은 사용자의 입력과 대응되는 제1 응답뿐만 아니라, 사용자의 상황 정보에 기초하여 생성된 다양한 타입의 다양한 정보를 포함하는 제2 응답에 기초하여, 사용자의 입력에 대한 응답이 제공될 수 있다.
예를 들면, 제2 응답은, 사용자의 현재 상황에 관한 정보에 기초하여 생성된, 사용자에게 현재 적합할 것으로 판단되는 추가적인 정보를 포함할 수 있다. 또한, 제2 응답은, 상황 정보에 기초하여 생성된, 사용자에 의해 선호될 것으로 판단되는, 제1 응답의 컨텐츠 타입과는 다른 타입의 컨텐츠를 포함할 수 있다.
또한, 제1 응답의 컨텐츠 타입은, 예를 들면, 사용자의 입력과 직접적으로 대응될 수 있는 컨텐츠 타입으로서, 텍스트, 동영상, 이미지, 및 오디오 중 적어도 하나를 포함할 수 있다. 또한, 제2 응답에 포함된 제2 컨텐츠 타입은, 예를 들면, 사용자의 상황 정보에 기초하여, 추가로 제공될 수 있는 컨텐츠 타입으로서, 텍스트, 동영상, 이미지, 오디오, LED 출력, 진동 출력, 시각적 또는 청각적 효과, 및 사용자 인터페이스 중 적어도 하나를 포함할 수 있다. 상술한 예에 한하지 않고, 제1 응답 및 제2 응답은 다양한 타입의 컨텐츠를 포함할 수 있다.
상술한 사용자 인터페이스는, 사용자의 상황 정보에 따라 사용자에게 추가로 제공될 수 있는, 사용자 인터페이스로서, 예를 들면, 정보 검색을 위한 인터페이스, 길찾기 기능을 수행하기 위한 인터페이스, 번역을 위한 인터페이스 등을 포함할 수 있다. 상기 사용자 인터페이스는, 예를 들면, 전자 장치(1000)에 미리 설치된 적어도 하나의 어플리케이션에 의해 제공될 수 있다.
따라서, 일 실시 예에 의한 응답은, 상황 정보가 고려되지 않은, 입력에 대한 기본적인 응답 정보를 포함하는 제1 응답을 포함하되, 실시간으로 변화될 수 있는 사용자의 상황 정보에 기초하여 생성된 다양한 컨텐츠 타입의 다양한 정보를 포함한 제2 응답을 더 포함할 수 있다.
일 실시 예에 의하면, 입력에 대한 기본적인 응답인, 제1 응답과 함께, 상황 정보에 기초하여 생성된 부가적인 컨텐츠를 더 포함하는 제2 응답이 결합되어 출력됨에 따라, 보다 나은 사용자 경험이 제공될 수 있다. 또한, 제1 응답뿐만 아니라 다양한 타입의 컨텐츠를 포함한 제2 응답이 함께 결합되어, 출력됨에 의해, 제1 응답만 출력되는 경우보다 더 풍부하고, 사용자에게 더 적합한 내용을 포함하는 응답이 사용자에게 제공될 수 있다.
예를 들어, "오늘 일정은?"이란 입력(100)이 전자 장치(1000)로 수신된 경우, 전자 장치(1000)는, 상기 입력(100)과 대응되는 기본적인 응답으로, "오후 7시 회의"의 텍스트를 포함한 제1 응답을 생성할 수 있다.
또한, 전자 장치(1000)는, 사용자의 상황 정보를 고려한 제2 응답을 생성할 수 있다. 예를 들면, 사용자의 상황 정보가 사용자가 운전 중이어서, 전자 장치(1000)의 디스플레이를 볼 수 없는 상태임을 나타내는 경우, 제2 응답은, 상술한 사용자의 상황 정보에 따라, 제1 응답의 "오후 7시 회의"의 텍스트가 TTS(text to speech) 기술에 따라 변환된 오디오 데이터를 포함할 수 있다.
일 실시 예에 의한, 전자 장치(1000)는 제1 응답과 제2 응답을 결합하여, 최종적으로 출력될 응답을 생성하여, 출력할 수 있다. 예를 들면, 전자 장치(1000)는, 제1 응답과 제2 응답을 결합한 결과, 디스플레이에, "오후 7시 회의"의 텍스트를 표시함과 동시에, 제2 응답의 오디오 데이터를 스피커를 통하여 출력할 수 있다.
일 실시 예에 의하면, 입력에 대한 기본적인 응답은 사용자의 상황에 따라 변하지 않고, 제공되면서, 사용자의 상황 정보에 따라 추가적인 응답이 더 제공될 수 있다. 따라서, 일 실시 예에 의하면, 입력에 대한 기본적인 응답은 상황 정보에 따라 변경되지 않으므로, 사용자는 입력에 대한 응답을 쉽게 예상할 수 있어, 사용자 의도에 맞는 입력을 보다 쉽게 입력할 수 있다. 또한, 상황 정보를 고려한 응답은 부가적으로 제공됨에 따라, 입력에 대한 기본적인 응답만 제공되는 경우보다 나은 사용자 경험이 제공될 수 있다.
또한, 사용자의 상황은, 실시간으로 지속하여 변경될 수 있어, 사용자 입력을 처리할 때 이용된 사용자의 상황 정보가 현재의 사용자의 상황과 서로 상충될 수 있다. 예를 들면, 사용자의 상황 정보에 대한 갱신이 늦어, 현재의 사용자와 상황과는 다른 정보를 포함하는 상황 정보에 의해 사용자의 입력에 대한 응답이 출력될 수 있다. 따라서, 응답이 출력되는데 이용된 상황 정보가, 응답이 출력되었을 때 사용자의 상황과 맞지 않는 경우가 발생될 수 있다.
그러나, 일 실시 예에 의한, 입력에 대한 기본적인 응답(ex. 제1 응답)은 상황 정보에 따라 변경되지 않으므로, 상황 정보가 현재의 사용자의 상황과 다른 정보를 포함하는 경우에도, 입력에 대한 기본적인 응답은 안정적으로 제공될 수 있다.
일 실시 예에 의한 제2 응답은, 상황 정보뿐만 아니라, 제1 응답과 관련된 정보에 더 기초하여, 생성될 수 있다. 예를 들면, 제2 응답은, 제1 응답의 제1 컨텐츠의 특징 정보에 더 기초하여 생성될 수 있다. 또한, 제2 응답은, 제1 응답을 생성하기 위한 제1 데이터에 더 기초하여 생성될 수 있다. 일 실시 예에 의한 제1 데이터는, 제1 응답을 생성하기 위한 데이터로서, 예를 들면, 사용자의 입력이 분석된 결과에 기초하여 생성된 데이터일 수 있다.
상술한 예에 한하지 않고, 일 실시 예에 의한 제2 응답은, 상황 정보에 한하지 않고, 제1 응답과 관련된 다양한 정보에 더 기초하여, 생성될 수 있다.
일 실시 예에 따른 사용자 입력에 대한 응답을 출력하는 방법은, 온 디바이스(on-device) AI 기술에 따라서, 동작될 수 있다. 예를 들면, 클라우드 서버와의 데이터 송수신 없이, 전자 장치(1000) 상에서, 사용자의 입력이 처리될 수 있고, 입력에 대한 응답이 출력될 수 있다. 또한, 전자 장치(1000)는 클라우드 서버에 저장된 빅 데이터를 이용할 필요없이, 실시간으로 전자 장치(1000)에서 수집된 사용자에 관한 다양한 정보에 기초하여, 일 실시 예에 의한 동작을 수행할 수 있다.
온 디바이스 AI 기술에 의하면, 전자 장치(1000)는 스스로 수집한 데이터에 기초하여, 스스로 학습하고, 학습된 AI 모델에 기초하여, 스스로 결정을 내릴 수 있다. 온 디바이스 AI 기술에 의한, 전자 장치(1000)는 수집된 데이터를 외부로 전달하지 않고, 스스로 운용하므로, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서, 장점이 존재한다.
예를 들면, 전자 장치(1000)의 네트워크 환경이 불안정하거나, 빅 데이터를 이용할 필요 없이, 전자 장치(1000)에서 수집된 정보만으로, 전자 장치(1000)에서 학습된 AI 모델에 따라 일 실시 예에 의한 동작을 수행하기에 충분한지 여부에 따라, 전자 장치(1000)는 온 디바이스 AI 기술을 이용하여, 클라우드 서버와의 연결 없이, 동작할 수 있다.
다만, 전자 장치(1000)는, 온 디바이스 AI 기술에 따라 동작하는 것에 한하지 않고, 클라우드 서버 또는 외부 장치와의 데이터 송수신을 통해, 일 실시 예에 의한 동작을 수행할 수도 있다. 또한, 전자 장치(1000)는 상술한 온 디바이스 AI 기술 및 클라우드와의 데이터 송수신을 통한 방식을 조합하여 일 실시 예에 의한 동작을 수행할 수도 있다.
예를 들어, 네트워크 환경 및 전자 장치(1000)의 연산 능력에 따라, 클라우드 서버를 통한 동작이 데이터 처리 속도 면에서 더 유리하거나, 사용자의 개인 정보를 포함하지 않는 데이터가 클라우드 서버로 전달되는 경우 등, 클라우드 서버를 통한 방식이 온 디바이스 AI 기술보다 유리한 경우에는, 클라우드 서버를 통한 방식에 따라, 일 실시 예에 의한 동작이 수행될 수 있다.
도 2는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 전자 장치(1000)는, 사용자 입력부(1100), 프로세서(1300) 및 출력부(1200)를 포함할 수 있다. 그러나, 도 2에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
예를 들면, 전자 장치(1000)는 도 3에 도시된 바와 같이, 일부 실시예에 따른 전자 장치(1000)는, 사용자 입력부(1100), 프로세서(1300) 및 출력부(1200) 이외에 센싱부(1400), 통신부(1500), A/V 입력부(1600) 및 메모리(1700)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력부(1100)는, 사용자의 입력(100)을 수신할 수 있다. 예를 들면, 사용자 입력부(1100)는, 전자 장치(1000)의 마이크, 터치 패드, 스위치, 제스처 입력 장치 등 다양한 입력 방법을 통하여 수신된 사용자의 입력(100)을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
일 실시 예에 의한 출력부(1200)는 사용자의 입력(100)에 대한 응답을 출력할 수 있다. 일 실시 예에 응답은 다양한 타입을 가진 제2 컨텐츠를 포함할 수 있다. 예를 들면, 동영상, 이미지, 오디오, LED 출력, 텍스트, 사용자 인터페이스 등의 다양한 타입의 컨텐츠들은, 디스플레이부(121) 또는 음향 출력부(1220)를 통해 출력될 수 있고, 진동 출력 타입의 컨텐츠는 진동 모터(1230)를 통해 출력될 수 있다.
디스플레이부(1210)는 전자 장치(1000)에서 처리되는 정보를 표시 출력한다. 일 실시 예에 의하면, 디스플레이부(1210)는, 사용자의 입력(100)에 대응하는 응답에 관한 정보를 표시할 수 있다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 장치(1000)의 구현 형태에 따라 전자 장치(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 일 실시 예에 의한 음향 출력부(1220)는 사용자의 입력(100)과 대응되는 응답으로서, 오디오 데이터를 출력할 수 있다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다. 일 실시 예에 의한 음향 출력부(1220)는 사용자의 입력(100)과 대응되는 응답으로서, 진동 신호를 출력할 수 있다.
프로세서(1300)는, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 전자 장치(1000)는 적어도 하나의 프로세서(1300)를 포함할 수 있다.
프로세서(1300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700)로부터 프로세서(1300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(1300)로 제공될 수 있다. 예를 들면 프로세서(1300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 적어도 하나의 프로세서(1300)는 사용자의 입력(100)에 대한 응답을 생성할 수 있다. 일 실시 예에 의한 응답은, 제1 컨텐츠를 포함하는 제1 응답 및 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는 제2 응답이 결합됨으로써 생성될 수 있다.
상기 제1 응답은, 입력과 매칭되는 응답 정보를 포함하는 제1 컨텐츠로 구성될 수 있고, 제2 응답은, 사용자에 관한 상황 정보에 기초하여 상기 입력에 대한 응답으로서 생성된, 제1 컨텐츠와는 다른 타입의 제2 컨텐츠로 구성될 수 있다.
센싱부(1400)는, 전자 장치(1000)의 상태 또는 전자 장치(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다.
일 실시 예에 의하면, 센싱부(1400)에 의해 감지된 정보에 기초하여, 사용자에 관한 상황 정보가 획득될 수 있다. 상기 상황 정보에 기초하여 제2 응답이 생성될 수 있다. 예를 들면, 센싱부(1400)는 사용자의 얼굴 표정으로부터 사용자의 감정을 감지하고, 전자 장치(1000)는 이에 기초하여, 사용자의 상황 정보를 획득할 수 있다.
또한, 일 실시 예에 의하면, 센싱부(1400)에 의해 감지된 정보에 기초하여, 일 실시 예에 따라 제공된 응답에 대한 사용자의 피드백 정보가 획득될 수 있다. 일 실시 예에 의하여 획득된 피드백 정보에 기초하여, 제2 응답을 생성하는데 이용되는 학습 모델이 갱신될 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
통신부(1500)는, 전자 장치(1000)가 서버(미도시) 또는 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
일 실시 예에 의한 통신부(1500)는 입력(100)에 대한 응답을 생성하는데 필요한 데이터를 외부로부터 수신할 수 있다. 예를 들면, 통신부(1500)는 입력(100)에 대한 응답으로서 출력될 적어도 하나의 컨텐츠를 외부로부터 수신할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
일 실시 예에 의한 A/V 입력부(1600)에 의해 입력된 정보는 사용자의 상황 정보를 획득하는데 이용될 수 있다. 예를 들면, A/V 입력부(1600)에 의해 생성된 동영상 또는 오디오 데이터에 기초하여, 사용자의 상태, 모습, 위치 등이 판단될 수 있고, 이에 기초하여, 사용자의 상황 정보가 획득될 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(1700)는 하나 이상의 인스트럭션을 저장할 수 있고, 상술한 전자 장치(1000)의 적어도 하나의 프로세서(1300)는 상기 메모리(1700)에 저장된 상기 하나 이상의 인스트럭션을 실행함으로써, 일 실시 예에 의한 동작을 수행할 수 있다.
또한, 일 실시 예에 의한 메모리(1700)는 입력(100)에 대한 응답을 생성하는데 필요한 정보를 저장할 수 있다. 예를 들면, 메모리(1700)는, 입력(100)에 대한 응답을 생성하는데 이용될 수 있는 학습 모델, 가상 비서 어플리케이션 및 사용자에 대해 수집된 상황 정보 등을 저장할 수 있다. 상술한 예에 한하지 않고, 메모리(1700)는 일 실시 예에 의한 입력(100)에 대한 응답을 생성하기 위해 필요한 다양한 종류의 정보들을 저장할 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 전자 장치(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 4는 일 실시 예에 의한 프로세서(1300)의 내부 구성을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시 예에 의한 프로세서(1300)는 입력(100)에 대한 응답을 생성하는 동작을 수행하기 위한 구성으로, 제1 응답 생성부(401), 제2 응답 생성부(402), 응답 렌더링부(403), 우선순위 결정부(404) 및 피드백부(405)를 포함할 수 있다.
도 4에 도시된 예는, 일 실시 예에 불과하고, 전자 장치(1000)는 도 4에 도시된 구성 요소보다 많거나 또는 적은 구성 요소로 구현될 수도 있다.
일 실시 예에 의한, 제1 응답 생성부(401)는 전자 장치(1000)에서 수신된 사용자의 입력을 분석하여, 사용자의 의도를 결정하고, 사용자의 의도와 대응되는 제1 응답을 생성할 수 있다.
예를 들면, 제1 응답 생성부(401)는, 수신된 입력이 음성 입력인 경우, 음성 인식을 수행함으로써, 음성 입력과 대응되는 텍스트를 획득할 수 있다. 또한, 제1 응답 생성부(401)는 입력과 대응되는 텍스트에 대해 자연어 해석을 수행하여, 사용자의 의도를 결정하고, 사용자의 의도와 대응되는 제1 응답을 생성할 수 있다.
일 실시 예에 의한, 제2 응답 생성부(402)는 사용자에 관한 상황 정보를 획득하고, 상황 정보에 기초하여 사용자의 입력에 대한 제2 응답을 생성할 수 있다.
일 실시 예에 의한 제2 응답 생성부(402)는 상황 정보에 기초하여, 사용자의 입력에 대한 제2 응답을 생성하는데, 미리 학습된 모델을 이용할 수 있다. 제2 응답을 생성하는데 이용될 수 있는 학습 모델은 예를 들면, 상황 정보로부터 새로운 제2 응답을 생성할 수 있는, 생성 모델(generative model)로서, 예를 들면, GAN(generative adversarial network)일 수 있다.
일 실시 예에 의하면, 상황 정보에 기초하여, 사용자의 선호도가 결정될 수 있다. 일 실시 예에 의하면, 상황 정보에 기초하여, 사용자의 선호도를 결정하는 동작은, 데이터를 인식하는데 이용될 수 있는 CNN(convolution neural network)에 의해 수행될 수 있다. 예를 들면, CNN에 의하여, 상황 정보에 기초한 사용자의 선호도가 결정되고, 결정된 선호도에 기초하여, 상술한 생성 모델로부터 제2 응답이 생성될 수 있다.
사용자의 선호도를 결정하는데 이용되는 상황 정보는 예를 들면, 일 실시 예에 따라 제공된 응답에 대한 사용자의 피드백 정보, 사용자에 의해 이용 또는 구매된 컨텐츠에 관한 정보, 사용자의 특성(ex. 나이, 거주지, 직업 등)에 관한 정보 등, 사용자에 관한 다양한 정보를 포함할 수 있다.
상술한 예에 한하지 않고, 제2 응답을 생성하기 위해 다양한 종류의 학습 모델이 이용될 수 있다. 일 실시 예에 따라, 제2 응답을 생성하는데 이용될 수 있는 적어도 하나의 학습 모델은, 상기 적어도 하나의 학습 모델은, 전자 장치(1000)에서 수집된 사용자와 관련된 다양한 데이터에 기초하여, 사용자에게 적합한 제2 응답이 생성될 수 있도록 지속적으로 수정될 수 있다.
일 실시 예에 의한 응답 렌더링부(304)는 제1 응답과 제2 응답을 결합할 수 있다. 예를 들면, 응답 렌더링부(304)는, 기본적으로 제1 응답이 출력되도록 하되, 부가적으로, 제2 응답에 의한 시각적 또는 청각적인 응답이 출력될 수 있도록 제1 응답과 제2 응답을 결합할 수 있다. 일 예로, 제1 응답의 제1 컨텐츠의 위치 또는 외관이 제2 응답에 포함된 시각적 효과 또는 사용자 인터페이스에 따라서, 적절하게 수정될 수 있다. 또한, 제1 응답의 제1 컨텐츠와 함께 제2 응답의 다양한 타입의 제2 컨텐츠가 동시에 출력될 수 있도록, 제1 응답과 제2 응답이 처리될 수 있다. 상술한 예에 한하지 않고, 응답 렌더링부(304)는 다양한 방법으로, 제1 응답 및 제2 응답을 결합할 수 있다.
일 실시 에에 의한 우선 순위 결정부(404)는, 응답 렌더링부(403)에 의하여 복수 개의 결합된 응답이 획득된 경우, 상황 정보에 기초하여, 각 응답에 대한 우선 순위를 결정할 수 있다. 예를 들면, 복수 개의 제2 컨텐츠를 포함하는 제2 응답이 생성된 경우, 전자 장치(1000)는, 제1 응답의 제1 컨텐츠와 복수 개의 제2 컨텐츠를 조합하여, 복수 개의 결합된 응답을 생성할 수 있다. 또한, 복수 개의 제1 컨텐츠가 생성된 경우에도, 복수 개의 제1 컨텐츠와, 적어도 하나의 제2 컨텐츠를 조합하여, 복수 개의 결합된 응답이 생성될 수 있다.
일 실시 예에 의하면, 우선 순위 결정부(404)는, 상기 복수 개의 결합된 응답 각각에 대하여, 우선 순위를 결정할 수 있다. 예를 들면, 상황 정보에 기초하여, 우선 순위가 결정됨으로써, 사용자의 상황에 가장 적합한 응답이 높은 순위를 가지도록 우선 순위가 결정될 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 상기 결정된 우선 순위에 따라서, 복수 개의 결합된 응답 중 적어도 하나의 응답을 사용자에게 제공할 수 있다.
일 실시 예에 의한 피드백부(405)는 제1 응답 및 제2 응답이 결합된 적어도 하나의 응답에 대한 사용자의 피드백에 관한 정보를 획득할 수 있다. 예를 들면, 피드백부(405)는 사용자의 발화, 표정, 제스처, 감정, 등을 감지하고, 감지된 정보에 기초하여, 피드백 정보를 획득할 수 있다.
일 실시예에 의하면 피드백 정보에 기초하여, 제2 응답을 생성하는데 이용되는 생성 모델이 갱신될 수 있다. 예를 들면, 피드백 정보에 기초하여, 생성 모델에 의해 사용자가 더 선호하는 제2 응답이 생성될 수 있도록, 생성 모델이 갱신될 수 있다.
도 5는 일 실시 예에 의한 사용자 입력에 대한 응답을 출력하는 방법을 나타낸 순서도이다.
도 5를 참조하면, 단계 510에서, 전자 장치(1000)는 사용자로부터 입력을 수신할 수 있다. 일 실시 예에 의한 사용자 입력은, 음성 입력, 버튼 입력, 터치 입력, 제스처 입력, 센서에 의한 입력 등 다양한 종류의 입력 방법을 통해 전자 장치(1000)에서 수신될 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 대화형 인터페이스를 제공하는, 가상 비서 어플리케이션을 통해 사용자 입력을 수신할 수 있다.
단계 520에서, 전자 장치(1000)는 사용자 입력에 대한 응답으로 제1 컨텐츠를 포함하는 제1 응답을 생성할 수 있다. 일 실시 예에 의한 제1 응답의 제1 컨텐츠는, 사용자의 상황 정보를 고려하지 않고, 사용자의 입력으로부터 분석된 사용자의 의도에 기초하여 획득될 수 있다. 예를 들어, 분석된 사용자의 의도가, "오늘 날씨 정보"인 경우, "오늘 날씨 정보"와 대응하는 제1 응답인, "맑음, 미세먼지 나쁨"을 나타내는 제1 컨텐츠가 생성될 수 있다.
단계 530에서, 전자 장치(1000)는 제2 응답을 생성하기 위한 사용자의 상황 정보를 획득할 수 있다. 일 실시 예에 의한 상황 정보는 실시간으로 획득될 수 있는 사용자의 특성, 상태, 주변 상황 등에 관한 다양한 정보를 포함할 수 있다. 일 실시 예에 의하면, 제2 응답을 생성하는데 이용되는 상황 정보는, 실시간으로 획득되는 다양한 종류의 정보에 기초하여 지속적으로, 갱신될 수 있다.
단계 540에서, 전자 장치(1000)는, 단계 530에서 획득된 상황 정보에 기초하여, 제1 컨텐츠의 타입과는 다른 타입의 제2 컨텐츠를 포함하는 제2 응답을 생성할 수 있다. 예를 들어, 제1 응답이, 텍스트 타입의 제1 컨텐츠를 포함하는 경우, 제2 응답은, 텍스트 타입의 제1 컨텐츠와는 다른 타입을 가진, 동영상, 이미지, 사용자 인터페이스, 오디오 등의 텍스트를 제외한 다양한 타입의 제2 컨텐츠를 포함할 수 있다. 또한, 제2 응답은, 제1 컨텐츠의 타입과 다른 타입을 가진 컨텐츠뿐만 아니라, 제1 컨텐츠의 타입과 동일한 타입의 컨텐츠도 더 포함할 수 있다. 일 실시 예에 의한, 제2 응답은 제1 응답과는 달리 단계 530에서 획득된 사용자의 상황 정보에 기초하여 생성될 수 있다.
단계 550에서, 전자 장치(1000)는 제1 응답과 제2 응답을 결합할 수 있다. 예를 들면, 전자 장치(1000)는, 제1 응답 및 제2 응답의 컨텐츠들이 디스플레이에서 적절하게 배치되어 표시되거나, 다른 출력 장치를 통해 각각의 컨텐츠들이 적절하게 출력될 수 있도록, 처리하여, 제1 응답과 제2 응답이 결합된 응답을 생성할 수 있다.
단계 560에서, 전자 장치(1000)는 단계 550에서 결합된 응답을 단계 510의 입력에 대한 응답으로서 출력할 수 있다.
도 6은 일 실시 예에 따라 제2 응답을 생성하는 일 예를 나타낸 도면이다.
도 6을 참조하면, 610에서, 전자 장치(1000)는 사용자에 관한 다양한 정보를 포함하는 데이터를 획득하고, 620에서, 상기 데이터로부터, 사용자의 상황을 나타내는 상황 정보를 획득할 수 있다. 예를 들면, 상술한 데이터는, 전자 장치(1000)에 포함된 적어도 하나의 센서에 의하여 감지될 수 있는 다양한 종류의 센서 데이터를 포함할 수 있다. 또한, 상황 정보는, 상술한 데이터에 기초하여 추출될 수 있는, 사용자의 주변 환경에 관한 정보, 사용자의 위치에 관한 정보, 사용자의 감정 상태에 관한 정보 등 사용자에 관한 상황을 나타내는 다양한 정보를 포함할 수 있다.
640에서, 전자 장치(1000)는 620에서 획득된 상황 정보에 기초하여, 생성 모델(630)을 통해, 제2 응답을 생성할 수 있다. 예를 들면, 전자 장치(1000)는 상황 정보에 기초하여, 사용자의 현재 상황에 적합한 것으로 판단되는 응답인, 제2 컨텐츠를 포함한 제2 응답을 생성할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 제2 응답과, 상황 정보가 고려되지 않고 생성된 제1 응답을 적절히 결합함으로써, 사용자의 입력에 대한 응답을 출력할 수 있다.
650에서, 전자 장치(1000)는, 상술한 제1 응답과 제2 응답이 결합된 응답을 사용자의 입력에 대한 응답으로서 출력하고, 출력된 응답에 대한 사용자의 피드백 정보에 기초하여, 생성 모델(630)을 갱신할 수 있다. 예를 들면, 전자 장치(1000)는 사용자에 관한 다양한 종류의 데이터(ex. 센서 데이터)에 기초하여 출력된 응답에 대한 사용자의 피드백 정보를 획득할 수 있다. 또한, 전자 장치(1000)는 피드백 정보에 기초하여, 사용자에게 적합한 제2 응답이 생성될 수 있도록, 생성 모델(630)을 갱신할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는, 피드백 정보에 기초하여, 제2 응답을 생성하는데 이용되는 상황 정보의 적어도 하나의 특징을 결정할 수 있다. 또한, 전자 장치(1000)는 결정된 적어도 하나의 특징에 기초하여, 제2 응답을 생성하기 위한, 상황 정보를 획득할 수 있다.
일 실시 예에 의한 상황 정보는, 사용자의 각각의 상황과 대응되는 적어도 하나의 특징에 대한 상황 정보를 포함할 수 있다. 예를 들어, 상황 정보는, 사용자의 감정 정보, 주변 환경의 소음 정보, 전자 장치(1000)의 위치 정보 등 사용자의 각각 다른 상황을 나타내는 특징을 가지는 상황 정보를 포함할 수 있다.
일 실시 예에 의하면, 피드백 정보에 기초하여, 전자 장치(1000)는 적어도 하나의 센서에 의하여 감지될 수 있는 다양한 종류의 센서 데이터로부터, 기존 특징의 상황 정보와는 다른 특징의 상황 정보를 추가로 획득할 수 있다.
예를 들면, 전자 장치(1000)에서 수집된 센서 데이터 중 오디오 데이터로부터 판단될 수 있는 사용자의 감정 정보가 상황 정보로서 획득될 수 있으나, 피드백 정보(ex. 주변이 시끄러워서 전자 장치(1000)로부터 출력된 응답이 잘 안들림)에 기초하여, 오디오 데이터로부터 사용자의 주변 소음 정보가 상황 정보로서 더 획득될 수 있도록 설정될 수 있다.
따라서, 피드백 정보에 기초하여, 동일한 센서 데이터로부터 더 적합한 특징을 가진 상황 정보가 획득됨에 따라, 더 적합한 제2 응답이 사용자에게 제공될 수 있다.
도 7은 일 실시 예에 의한 제2 응답을 생성하기 위한 제2 데이터를 생성하는 일 예를 나타낸 도면이다.
도 7을 참조하면, 전자 장치(1000)는 사용자로부터 입력(710)을 수신하고, 720에서, 수신된 입력(710)에 대한 제1 응답을 생성하기 위하여 제1 데이터(730)를 획득할 수 있다. 예를 들면, 전자 장치(1000)는, 사용자에 의하여 입력(710)된 정보를 분석하여, 사용자의 의도를 판단하고, 판단된 결과에 따라서, 제1 응답을 생성하기 위한 제1 데이터(730)를 다양한 방법을 통해 검색하여 획득할 수 있다.
일 실시 예에 의한 제1 데이터(730)는, 사용자의 상황 정보가 고려되지 않고 획득된 데이터로, 제1 데이터(730)에 기초하여, 제1 컨텐츠를 포함하는 제1 응답이 생성될 수 있다.
전자 장치(1000)는, 제1 응답을 생성하기 위한 제1 데이터(730)로서, 입력(710)과 대응되는 제1 데이터인, M1, M2, Mn 등을 획득할 수 있다. 예를 들어, 사용자 입력(710)이, "빵가루를 묻힌 치킨 커틀릿 요리법? (How to cook breaded chicken cutlets?)"인 경우, 제1 응답을 생성하기 위한 제1 데이터(730)로, 치킨 커틀릿을 요리하기 위하여 필요한 요리 재료 및 각각의 요리 재료에 대한 칼로리, 영양 성분 등에 관한 정보가 획득될 수 있다. 일 실시 예에 의한, 제1 데이터(730)는, 상황 정보(740)의 고려 없이, 사용자 입력(710)와 직접적으로 연관된 제1 응답을 생성하는데 필요한 정보를 포함할 수 있다.
전자 장치(1000)는 사용자의 상황 정보(740)를 획득할 수 있다. 예를 들면, 사용자의 상황 정보(740)는, 사용자의 다이어트 정보, 건강 상태에 관한 정보(ex. medical information), 알러지 정보 등의 사용자에 관한 다양한 정보를 포함할 수 있다.
일 실시 예에 의하면 전자 장치(1000)는 상황 정보(740)에 기초하여, 제1 데이터(730)로부터 제2 데이터(760)를 획득할 수 있다. 또한, 전자 장치(1000)는 제2 데이터(760)에 기초하여, 제2 응답을 생성할 수 있다. 예를 들면, 제2 데이터(760)는, 상황 정보(740)에 기초하여 제1 데이터(730)가 수정됨으로써 획득될 수 있다.
일 실시 예에 의하면, 상황 정보(740) 및 제1 데이터(730)가 상술한 제2 응답을 생성하기 위한 생성 모델에 입력됨으로써, 제2 응답이 생성될 수 있다. 일 실시 예에 의하면, 제2 응답을 생성하기 위한 생성 모델은, 적어도 하나의 생성 모델을 포함할 수 있으며, 예를 들면, 상황 정보(740)에 기초하여, 제1 데이터(730)로부터 제2 데이터(760)를 생성하기 위한 제1 생성 모델과, 상기 제2 데이터(760)로부터 제2 응답을 생성하기 위한 제2 생성 모델을 포함할 수 있다. 따라서, 일 실시 예에 의하면 생성 모델에서 제2 응답을 생성하는 동작은, 제1 생성 모델에 의해 상황 정보(740)에 기초하여, 제1 데이터(730)로부터 제2 데이터(760)가 생성되고, 제2 생성 모델에 의해 상기 제2 데이터(760)로부터 제2 응답이 생성되는 동작을 포함할 수 있다.
상술한 예에 한하지 않고, 제2 응답을 생성하기 위한 생성 모델은, 상황 정보(740)에 기초하여, 제1 데이터(730)로부터 제2 데이터(760)를 생성하고, 제2 데이터(760)로부터 제2 응답을 생성하는 단일한 생성 모델을 포함할 수도 있다.
또한, 상술한 예에 한하지 않고, 제2 응답은 다양한 방법을 통해, 상황 정보(740) 및 제1 데이터(730)로부터 생성될 수 있다.
750에서, 전자 장치(1000)는 사용자의 상황 정보(740)에 기초하여, 제1 데이터(730)로부터 제2 데이터(760)를 획득할 수 있다. 전자 장치(1000)는, 제2 응답을 생성하기 위한 제2 데이터(760)로서, M'1, M'2, M'n 등을 획득할 수 있다.
예를 들면, 전자 장치(1000)는, 사용자의 다이어트 정보에 기초하여, 칼로리를 고려하여 재구성된 치킨 커틀렛 요리 방법, 알러지 정보에 기초하여 재구성된 치킨 커틀렛 요리 방법 등을 제2 데이터(760)로서 획득할 수 있다.
따라서, 일 실시 예에 의한 제2 응답은, 상황 정보(740)를 고려하지 않은 제1 데이터(730)에 기초하여 생성되는 제1 응답과는 달리, 상황 정보(740)에 기초하여 생성된 제2 데이터(760)에 기초하여 생성될 수 있다.
도 8은 일 실시 예에 따라 피드백 정보를 획득하는 일 예를 나타낸 도면이다.
도 8을 참조하면, 전자 장치(1000)는 센서 데이터(802)로부터 사용자의 감정 정보(808)를 획득하고, 감정 정보로부터 피드백 정보(810)를 획득할 수 있다.
일 실시 예에 의하면, 사용자의 감정 정보는, 각각의 센서 데이터(802)에 기초하여 획득될 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 804a에서, 센서 데이터(802)로부터 음성 신호를 획득하고 음성 신호와 대응되는 텍스트를 획득할 수 있다. 또한, 전자 장치(1000)는 806a에서, 음성 신호와 대응되는 텍스트에 기초하여, 텍스트의 특징 정보를 획득할 수 있다. 예를 들면, 텍스트의 특징 정보는, 텍스트의 토픽(topic), 키워드, 의도, 목적 등의 텍스트의 의미를 나타내는 정보를 포함할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 804b에서, 센서 데이터(802)로부터 영상 신호를 획득하고, 영상 신호에 포함된 사용자의 얼굴 영상을 획득할 수 있다. 또한, 전자 장치(1000)는 806b에서, 사용자의 얼굴 영상에 포함된 사용자의 얼굴 형태를 분석함으로써, 사용자의 표정 정보를 획득할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 804c에서, 센서 데이터(802)로부터 제스처 정보를 획득할 수 있다. 예를 들면, 동작 감지 센서, 터치 센서 등으로부터 감지된 사용자의 제스처 정보가 획득될 수 있다. 또한, 전자 장치(1000)는 806c에서, 제스처 정보로부터 제스처의 특징 정보를 획득할 수 있다. 예를 들면, 전자 장치(1000)는 제스처 정보를 분석하여 제스처를 수행하는 사용자의 의도를 판단하고, 판단된 사용자의 의도에 관한 정보를 제스처의 특징 정보로서 획득할 수 있다. 일 예로, 사용자가 X자를 그리는 제스처가 감지된 경우, 제스처의 특징 정보는 반대 의견임을 나타내는 정보를 포함할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 806a, 806b, 806c에서 각각 획득된 텍스트의 특징 정보, 표정 정보 및 제스처의 특징 정보에 기초하여, 사용자의 감정 정보(808)를 판단할 수 있다. 또한, 전자 장치(1000)는 사용자의 감정 정보(808)로부터 피드백 정보(810)를 획득할 수 있다. 예를 들면, 사용자의 감정 정보는, 만족, 불만족, 화남, 등의 감정에 관한 정보를 포함할 수 있고, 사용자의 감정 정보로부터, 부정적, 긍정적, 보통 등의 정보를 포함하는 피드백 정보(810)가 획득될 수 있다.
일 실시 예에 의하면, 피드백 정보(810)에 기초하여, 제2 응답을 생성하기 위한 생성 모델이 갱신될 수 있다. 따라서, 일 실시 예에 의하면, 피드백 정보(810)에 따라 사용자에게 적합하도록 수정된 생성 모델에 의해 생성된 제2 응답이 제공될 수 있다.
도 9는 일 실시 예에 의한 제2 컨텐츠를 포함하는 제2 응답을 생성하는 방법을 나타낸 순서도이다.
도 9에 도시된 예에 의하면, 전자 장치(1000)는 제1 응답의 제1 컨텐츠에 대한 특징 정보를 획득하고, 제1 컨텐츠의 특징 정보 및 사용자에 관한 상황 정보에 기초하여 제2 컨텐츠를 생성함으로써, 제2 응답을 생성할 수 있다. 일 실시 예에 의하면, 제1 컨텐츠에 대한 특징 정보는, 소정의 데이터를 인식하기 위한 학습 모델에 기초하여, 획득될 수 있다.
예를 들면, 전자 장치(1000)는 제1 컨텐츠인 영상 데이터를 획득하고, 영상 데이터의 특징 정보 및 사용자에 관한 상황 정보에 기초하여 생성 모델을 통해 오디오 데이터를 생성할 수 있다.
도 9에 도시된 예에 의하면, 제1 컨텐츠인 영상 데이터의 특징 정보에 기초하여, 제2 컨텐츠인 오디오 데이터가 획득될 수 있으나, 상술한 예에 한하지 않고, 다양한 타입의 제1 컨텐츠의 특징 정보에 기초하여, 오디오 데이터, 영상 데이터, 사용자 인터페이스, 진동 신호, LED 효과 등의 다양한 타입의 제2 컨텐츠가 획득될 수 있다.
이하 도 9에서는, 제1 컨텐츠가 영상 데이터이고, 제2 컨텐츠가 오디오 데이터인 경우, 제2 컨텐츠를 포함한 제2 응답을 생성하는 방법을 설명하기로 한다.
도 9를 참조하면, 단계 910에서, 전자 장치(1000)는 영상 데이터를 획득할 수 있다. 예를 들면, 상기 영상 데이터는, 제1 응답으로서 획득된 영상 데이터일 수 있다.
단계 920에서, 전자 장치(1000)는, 단계 910에서 획득된 영상 데이터에 대하여 영상을 인식하기 위한 학습 모델을 이용하여 영상을 인식하고, 그 결과로서 영상 데이터의 특징 정보를 획득할 수 있다.
일 실시 예에 있어서, 영상 데이터를 인식하는데 이용될 수 있는 학습 모델은, 영상 내의 객체를 분류하고 탐지하는데 이용되는 CNN일 수 있다. 상술한 예에 한하지 않고, 일 실시 예에서는, 영상의 특징 정보를 획득하는데 이용될 수 있는 뉴럴 네트워크를 기반으로 하는 다양한 종류의 데이터 인식 모델이 이용될 수 있다.
일 실시 예에 따라 영상 데이터가 인식된 결과는 예를 들면, 영상에서 인식된 객체에 관한 정보, 영상에서 인식된 객체의 위치에 관한 정보, 영상에서 인식된 객체의 움직임에 관한 정보 등을 포함할 수 있다. 예를 들어, 영상 인식 모델에 입력된 영상이 고양이가 촬영된 영상인 경우, 영상 인식 모델의 영상의 인식 결과는 "고양이"을 포함할 수 있다. 이에 따라, 상기 영상의 특징 정보는, 영상에 대한 인식 결과인, "고양이"를 포함할 수 있다.
단계 930에서, 전자 장치(1000)는 전자 장치(1000)의 사용자에 관한 상황 정보를 획득할 수 있다. 단계 930에서 획득된 상황 정보는 제2 응답의 오디오 데이터를 생성하는데 이용될 수 있다.
단계 940에서, 전자 장치(1000)는 단계 920에서 획득된 영상 데이터의 특징 정보 및 단계 930에서 획득된 상황 정보에 기초하여, 영상 데이터에 대한 오디오 데이터를 획득할 수 있다.
예를 들면, 전자 장치(1000)는 영상 데이터로부터 오디오 데이터를 생성하기 위한 생성 모델(ex. GAN)을 이용하여, 영상 데이터의 특징 정보에 기초한, 오디오 데이터를 생성할 수 있다. 또한, 생성된 오디오 데이터는 상황 정보에 기초하여 수정될 수 있다.
일 예로, 상황 정보에 기초하여, 전자 장치(1000)의 주변 환경 소음이 큰 것으로 판단된 경우, 전자 장치(1000)는 영상 데이터의 특징 정보에 기초하여 생성된 오디오 데이터가 큰 소리로 출력될 수 있도록 상기 오디오 데이터를 상황 정보에 기초하여 수정할 수 있다.
상술한 예에 한하지 않고, 전자 장치(1000)는 영상 인식이 수행된 결과 획득된 영상 데이터의 특징 정보 및 상황 정보에 기초한 다양한 방법을 통해 영상 데이터에 대한 오디오 데이터를 획득할 수 있다.
단계 950에서, 일 실시 예에 따라 생성된 오디오 데이터는, 제2 응답으로서 제1 응답과 결합되어, 사용자 입력에 대한 응답으로서, 출력될 수 있다.
도 10은 일 실시 예에 의한 제2 응답을 생성하기 위한 생성 모델을 학습하는 방법의 일 예를 나타낸 도면이다.
도 10을 참조하면, 서버(1010)에 의하여 학습된 생성 모델(1013)이 전자 장치(1000)로 전달될 수 있고, 전자 장치(1000)는, 서버(1010)로부터 수신된 생성 모델(1013)에 기초하여, 전자 장치(1000)에서 수집된 정보에 따라 생성 모델(1024)을 지속적으로 수정할 수 있다.
일 실시 예에 의한 생성 모델(1013, 1024)은, 상황 정보에 기초하여, 제1 응답의 제1 컨텐츠의 타입과는 다른 타입의 제2 컨텐츠를 포함하는 제2 응답을 생성하기 위한 학습 모델이다.
일 실시 예에 의한 서버(1010)는, 서버(1010)에서 수집된 다양한 학습 데이터(1011)에 기초하여, 생성 모델(1013)을 학습할 수 있다. 예를 들면, 학습 데이터(1011)는 사용자의 SNS(social network service) 활동과 관련된 SNS 데이터(1012)를 포함할 수 있다.
예를 들면, 서버(1010)는, SNS 데이터(1012)에 기초하여, 사용자의 선호도 정보, 주변 환경 정보, 및 프로필 정보 등 사용자에 관한 다양한 정보를 획득하고, 획득된 정보에 기초하여, 생성 모델(1013)을 학습할 수 있다.
일 실시 예에 의한 서버(1010)는 서버(1010)에 의해 학습된 생성 모델(1013)을 전자 장치(1000)로 전송할 수 있다. 일 실시 예에 의한 전자 장치(1000)는 서버(1010)로부터 수신된 생성 모델(1013)을 전자 장치(1000)에서 수집된 다양한 정보를 포함하는 학습 데이터(1021)에 기초하여, 추가적으로 학습할 수 있다.
일 실시 예에 의한 전자 장치(1000)는 전자 장치(1000)에서 수집된 학습 데이터(1021)에 기초하여, 서버(1010)로부터 수신된 생성 모델(1013)을 지속적으로 학습하고, 전자 장치(1000)에서 학습된 생성 모델(1024)에 따라 제2 응답을 생성할 수 있다. 일 실시 예에 의하면, 생성 모델(1024)은, 온 디바이스 방식에 따라 서버(1010)에 의한 처리 없이, 전자 장치(1000)에서 수집된 학습 데이터(1021)에 기초하여, 지속적으로 학습됨으로써, 수정될 수 있다.
전자 장치(1000)에서 수집된 학습 데이터(1021)는 예를 들면, 사용자와 관련하여 수집된 다양한 사용자 데이터(1022, ex. 센서 데이터, 입력 데이터) 및 사용자의 피드백 정보(1023)를 포함할 수 있다. 예를 들면, 사용자의 피드백 정보(1023)는, 일 실시 예에 따라 제공된 응답에 대한 사용자의 피드백 정보를 포함할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)에서 수집된 데이터는, 전자 장치(1000)에서 사용자와 관련하여 수집될 수 있는 다양한 종류의 데이터를 포함할 수 있다.
도 11은 일 실시 예에 의한 생성 모델(1103)을 학습하는 방법에 대한 일 예를 나타낸 도면이다.
일 실시 예에 의하면, 전자 장치(1000)에서, 제1 응답(1101) 및 제2 응답(1104)이 생성되는 경우, 도 11에 도시된 예에 따라서, 생성 모델(1103)이 학습될 수 있다.
도 11을 참조하면, 전자 장치(1000)는 전자 장치(1000)에서 수집된 학습 데이터(1105)에 기초하여, 생성 모델(1103)을 학습할 수 있다. 일 실시 예에 의한 학습 데이터(1105)는, 도 10에 도시된 전자 장치(1000)에서 사용자와 관련된 정보로서 수집될 수 있는 학습 데이터(1015)와 대응될 수 있다. 예를 들면, 학습 데이터(1105)는, 사용자의 피드백 정보, 사용자에 대해 감지된 센서 데이터, 사용자와 관련된 다양한 종류의 사용자 데이터 등을 포함할 수 있다.
또한, 학습 데이터(1015)는, 일 실시 예에 따른 사용자의 상황 정보를 포함할 수 있다. 따라서, 일 실시 예에 의하면, 지속적으로 변동되는 상황 정보에 따라, 사용자에게 적합한 제2 응답(1104)이 제공될 수 있도록, 생성 모델(1103)이 수정될 수 있다.
일 실시 예에 의한 전자 장치(1000)는, 사용자의 입력에 대한 제1 응답(1101)을 생성할 수 있다. 또한, 전자 장치(1000)는, 상황 정보(1102) 및 생성 모델(1103)에 기초하여, 제1 응답(1101)의 컨텐츠 타입과는 다른 타입의 컨텐츠를 포함한 제2 응답(1104)을 사용자의 입력에 대하여 생성할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 전자 장치(1000)에서 수집된 학습 데이터(1105)에 기초하여, 생성 모델(1103)에 의해 생성된 제2 응답(1104)이 적절한지 평가(1106)할 수 있다. 예를 들어, 학습 데이터(1105)와, 제2 응답(1104) 간 상관된 정도가 높을수록, 일 실시 예에 의하여 제공되는 제2 응답(1104)과, 사용자와 관련된 정보(ex. 상황 정보) 간 일관성이 유지됨에 따라, 제2 응답(1104)이 더 적절한 것으로 평가될 수 있다.
따라서, 일 실시 예에 의하면, 제2 응답(1104) 및 학습 데이터(1105) 간 상관도에 기초하여, 생성 모델(1103)에 의한 제2 응답(1104)이 평가될 수 있고, 평가된 결과에 따라 생성 모델(1103)이 학습될 수 있다.
일 실시 예에 의하면, 학습 데이터(1105)뿐만 아니라, 제1 응답(1101)에 더 기초하여, 제2 응답(1104)이 평가될 수 있다. 예를 들면, 제1 응답(1101), 학습 데이터(1105) 및 제2 응답(1104) 간의 상관도에 기초하여, 제2 응답(1104)이 평가될 수 있다.
일 실시 예에 의한, 전자 장치(1000)는 평가 결과에 기초하여, 생성 모델(1103)을 학습할 수 있다. 예를 들면, 전자 장치(1000)는 평가 결과에 기초하여, 1106에서 제2 응답(1104)에 대해 더 좋은 평가가 결정될 수 있도록 생성 모델(1103)을 수정할 수 있다.
일 실시 예에 의한 전자 장치(1000)는 제2 응답(1104) 및 전자 장치(1000)에서 수집된 사용자에 관한 학습 데이터(1105) 간 상관도에 기초하여, 생성 모델(1103)을 지속적으로 학습할 수 있다. 따라서, 전자 장치(1000)는 전자 장치(1000)에서 수집된 사용자에 관한 학습 데이터(1105)에 따라 생성 모델(1103)을 학습함에 따라, 서버(1010)의 생성 모델(1103)보다 더 개인화된 생성 모델(1103)을 획득할 수 있다.
상술한 예와 같이, 도 11에 의한 실시예는, 전자 장치(1000)에 한하지 않고, 도 10에 도시된 서버(1010)에 의해, 제1 응답(1101) 및 제2 응답(1104)이 생성되고, 서버(1010)에서 수집된 학습 데이터(1011)에 기초하여, 생성 모델(1103)이 학습될 수 있다. 예를 들면, 전자 장치(1000)의 요청에 따라 서버(1010)에 의하여, 사용자 입력에 대한 제1 응답(1101) 및 제2 응답(1104)이 생성될 수 있다. 또한, 도 11에 도시된 전자 장치(1000)에 의해 생성 모델(1103)이 학습되는 동작과 동일하게, 서버(1010)에서 수집된 학습 데이터(1011) 및 제2 응답(1104)에 기초하여, 평가가 수행된 결과에 따라 서버(1010)의 생성 모델(1013)이 학습될 수 있다.
도 12는 일 실시 예에 의한 전자 장치(1000)에서 사용자 입력에 대한 응답을 출력하는 일 예를 나타낸 도면이다.
도 12을 참조하면, 사용자 입력에 대하여, 영상 데이터를 포함하는 제1 응답(1201)이 생성될 수 있다. 제1 응답(1201)은, 일 실시 예에 의한 생성 모델(1205)에 의하여 생성된 제2 응답(1206)과 결합(1207)되어 출력(1208)될 수 있다.
일 실시 예에 의하면 상황 정보(1203)로부터 제2 응답(1206)을 생성하기 위한 적어도 하나의 특징 벡터(1204)가 추출될 수 있다. 적어도 하나의 특징 벡터(1204)는, 상황 정보(1203)의 적어도 하나의 특성을 나타내기 위한 정보를 포함할 수 있다.
예를 들면, 상황 정보(1203)는, 각각의 상황을 나타내는 적어도 하나의 특징에 대한 상황 정보를 포함할 수 있고, 상기 적어도 하나의 특징에 대한 상황 정보와 각각 대응되는 적어도 하나의 특징 벡터가 추출될 수 있다.
일 실시 예에 의하면 전자 장치(1000)는 상황 정보(1203)로부터 적어도 하나의 특징 벡터(1204)를 추출하고, 추출된 특징 벡터(1204)를 생성 모델(1205)에 입력함으로써, 제2 응답(1206)을 생성할 수 있다.
일 실시 예에 있어서, 특징 벡터는, 소정의 기준에 따라서 분류된 적어도 하나의 클러스터가 분포된 그래프에서, 상황 정보가 나타내는 적어도 하나의 특징에 따라서 결정되는 상대적인 위치 정보에 따라 결정될 수 있다. 예를 들어, 상황 정보와 유사한 특징을 포함하는 클러스터일수록 상기 특징 벡터의 위치와 상기 클러스터의 중심과의 거리가 가까워지도록, 특징 벡터 값이 결정될 수 있다. 상술한 예에 한하지 않고, 상황 정보(1203)에 대한 특징 벡터는, 상황 정보의 특징을 나타내는 다양한 형태의 정보를 포함할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 제1 응답(1201)에 포함된 컨텐츠의 특징 정보(102)를 더 추출하여, 생성 모델(1205)에 입력할 수 있다. 따라서, 전자 장치(1000)는 상황 정보(1203)뿐만 아니라, 제1 응답(1201)과도 관련성이 높은 제2 응답(1206)을 생성할 수 있다.
일 실시 예에 의한 제2 응답(1206)은 제1 응답(1201)의 컨텐츠와는 다른 타입의 컨텐츠인 오디오 데이터를 포함할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 센서(1209)에 의해 감지된 데이터에 기초하여 피드백 정보를 생성(1211)하고, 피드백 정보에 기초하여, 상황 정보(1203)를 갱신할 수 있다. 상기 센서(1209)에 의해 감지된 데이터는, 일 실시 예에 따라 출력된 응답(1208)에 대한 사용자의 반응 또는 피드백을 판단하기 위한 센서 데이터를 포함할 수 있다.
도 12에 도시된 제1 응답(1201) 및 제2 응답(1206)의 컨텐츠인, 영상 데이터 및 오디오 데이터는 일 예에 불과하며, 상술한 예시에 한하지 않고, 일 실시 예에 의한 제1 응답(1201) 및 제2 응답(1206)은 다양한 타입의 컨텐츠를 포함할 수 있다.
도 13은 일 실시 예에 의한 사용자에 관한 프로필 정보에 기초하여, 사용자에 관한 상황 정보를 획득하는 일 예를 나타낸 도면이다.
도 13을 참조하면, 사용자 A 및 사용자 B에 대한 프로필 정보(1301, 1303)는 각각 프로세서(1300)에 의해 특징 벡터(1302, 1304)로 변환(ex. 인코딩)될 수 있다. 일 실시 예에 있어서, 특징 벡터는, 소정의 데이터의 특징에 따라서 결정되는 상대적인 위치 정보에 따라 결정될 수 있다. 사용자 A 및 사용자 B에 대한 특징 벡터(1302, 1304)는 1305와 같이 도시될 수 있다.
일 실시 예에 의하면, 프로필 정보에 기초하여 변환된 특징 벡터 값은, 상황 정보로서, 제2 응답을 생성하는데 이용될 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 프로필 정보에 기초하여 변환된 특징 벡터 값을 도 12에 도시된 생성 모델(1205)에 입력함으로써, 제2 응답(1206)을 생성할 수 있다.
상술한 예에 한하지 않고, 사용자에 관한 프로필 정보는 사용자의 상황 정보를 나타낼 수 있는 다양한 형태의 정보로 변환될 수 있고, 변환된 정보에 기초하여, 제2 응답(1206)이 생성될 수 있다.
도 14는 일 실시 예에 의한 사용자에 관한 프로필 정보에 기초하여 제2 응답을 생성하는 일 예를 나타낸 도면이다.
도 14를 참조하면, 동일한 입력에 대하여, 사용자의 프로필 정보에 따라, 서로 다른 컨텐츠를 포함하는 제2 응답이 생성되고, 제2 응답에 기초하여 생성된 응답이 각각의 사용자에게 제공될 수 있다. 상술한 프로필 정보는, 일 실시 예에 의한 상황 정보로서, 제2 응답을 생성하는데 이용될 수 있다.
일 실시 예에 의하면, "택시 예약을 요청"(1403)하는 사용자의 입력에 대하여, 예약 가능한 택시와 관련된 제1 데이터(1404)로서, 택시 A의 경우, 목적지까지 21분이 걸리고, 택시비는 72$가 발생될 것으로 예상될 수 있다. 또한, 택시 B의 경우, 목적지까지 5분이 걸리고, 택시비는 100$이 발생될 것으로 예상될 수 있다. 예를 들면, 택시 A는 택시 B와는 달리 카풀 타입의 택시 서비스를 제공함에 따라, 목적지에 도착하기 까지 걸리는 시간이 더 길지만, 더 저렴한 요금의 서비스가 제공될 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 사용자 C에 의하여, 택시 예약을 요청하는 사용자 입력(1403)이 수신된 경우, 제1 데이터(1404, Metadata)에 포함된 택시 A 및 택시 B에 관한 택시 예약 정보에 기초하여, 제1 응답을 생성할 수 있다.
일 실시 예에 의하면, 사용자 C의 프로필 정보(1401, Vi)에 기초하여, 제1 데이터(1404, Metadata)에 포함된 택시 A 및 택시 B에 대한 우선 순위(1405, Rank)를 결정할 수 있다. 우선 순위(1405, Rank)는 미리 결정된 함수(f)에 의해 결정될 수 있다. 예를 들면, 사용자 C의 프로필 정보 중 급여 정보, 나이 정보 및 직업 정보 중 적어도 하나에 기초하여, 전자 장치(1000)는 요금이 더 비싸도 목적지까지 걸리는 시간이 더 짧은, 택시 B의 우선 순위가 더 높은 것으로 결정할 수 있다. 따라서, 전자 장치(1000)는 사용자 C의 프로필 정보에 기초하여, 택시 B에 의한 택시 예약 안내에 관한 정보를 포함하는 제2 응답을 생성할 수 있다.
또한, 일 실시 예에 의한 제2 응답은, 제1 응답의 컨텐츠 타입인 텍스트와는 다른 타입의 제2 컨텐츠로서, 동영상, 오디오, 시각 효과, 사용자 인터페이스 등을 더 포함할 수 있다. 예를 들면, 제2 응답은, 전자 장치(1000)에서 택시 B에 의한 택시 예약 서비스를 제공하는 어플리케이션에 의한 사용자 인터페이스를 더 포함할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 제1 응답 및 제2 응답을 결합하여, 사용자 C에 제공할 수 있다. 예를 들면, 전자 장치(1000)는 제1 응답에 기초하여, 택시 A 및 택시 B에 관한 택시 예약 정보를 표시하되, 제2 응답에 기초하여, 택시 B에 의한 택시 예약 서비스를 제공하는 사용자 인터페이스가 함께 표시되도록, 제1 응답 및 제2 응답을 결합할 수 있다. 결합된 응답은 사용자 C에게 제공될 수 있다.
반면, 일 실시 예에 의하면, 전자 장치(1000)는 사용자 D에 의하여, 택시 예약을 요청하는 사용자 입력(1403)이 수신된 경우, 사용자 D의 프로필 정보(1402, Vi)에 기초하여, 제1 데이터(1404, Metadata)에 포함된 택시 A 및 택시 B에 대한 우선 순위(1405)를 결정할 수 있다. 사용자 C와는 달리 사용자 D의 경우, 프로필 정보 중 급여 정보, 나이 정보 및 직업 정보 중 적어도 하나에 기초하여, 전자 장치(1000)는 목적지까지 걸리는 시간이 더 길어도 요금은 더 저렴한, 택시 A의 우선 순위가 더 높은 것으로 결정할 수 있다. 따라서, 전자 장치(1000)는 사용자 D의 프로필 정보에 기초하여, 택시 A에 의한 택시 예약 안내에 관한 정보를 포함하는 제2 응답을 생성할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 제1 응답에 기초하여, 택시 A 및 택시 B에 관한 택시 예약 정보를 표시하되, 제2 응답에 기초하여, 택시 A에 의한 택시 예약 서비스를 제공하는 사용자 인터페이스가 함께 표시되도록, 제1 응답 및 제2 응답을 결합할 수 있다. 결합된 응답은 사용자 D에게 제공될 수 있다.
도 15는 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
도 15를 참조하면, 동일한 입력에 대하여, 사용자의 프로필 정보에 따라, 서로 다른 컨텐츠를 포함하는 제2 응답이 생성되고, 제2 응답에 기초하여 생성된 응답이 각각의 사용자에게 제공될 수 있다.
일 실시 예에 의하면, "10억은 어느 정도인 거지?(How much is a billion?)"(1501, 1502)란 사용자 입력이 사용자 E 또는 사용자 F에 의해 수신된 경우, 사용자의 입력에 기초하여 생성된 제1 데이터(1503)에 기초하여, 제1 응답이 생성될 수 있다. 일 실시 예에 의한 제1 응답은, 사용자 프로필에 관한 정보를 고려하지 않고, 사용자의 입력에 기초하여 생성된 제1 데이터(1503)에 기초하여 생성될 수 있다.
일 실시 예에 의하면, 제1 데이터(1503)에 기초하여, 입력이 수신된 각각의 사용자의 프로필 정보, 선호도 정보, SNS 활동 정보 등 사용자에 관한 다양한 종류의 상황 정보에 기초하여, 제2 데이터(1504, 1505)가 생성될 수 있다. 따라서, 일 실시 예에 따라 제2 데이터(1504, 1505)에 기초하여 생성된 제2 응답은, 사용자의 상황에 맞게 개인화된 응답을 포함할 수 있다.
예를 들어, 사용자 E가, 학생(student)인 경우, 사용자 E의 제2 데이터(1504)는, 사용자 E의 관심사, 지식 수준 등에 기초하여, 사용자 입력(1501)에 대한 응답을 생성하기 위한 데이터를 포함할 수 있다. 또한, 사용자 F가, 어린이(kids)인 경우 사용자 F의 제2 데이터(1505)는, 사용자 F의 관심사, 지식 수준 등에 기초하여, 사용자 입력(1502)에 대한 응답을 생성하기 위한 데이터를 포함할 수 있다.
따라서, 사용자 E 및 사용자 F에 대한 제2 응답은, 각 사용자의 지식 수준 및 관심사에 맞게 생성될 수 있다. 예를 들면, 사용자 E에 대한 제2 응답은, "10억은 10의 9승 또는 100 천만루피와 대응된다."는 답변을 포함할 수 있다. 또한, 사용자 F에 대한 제2 응답은, "10억은 엄청난 숫자이고, 큰 수영장을 10억개의 공으로 채울 수 있을 정도의 수이다."란 답변을 포함할 수 있다.
도 16은 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
도 16을 참조하면, "스포츠 컨텐츠를 보여줘"란 동일한 입력에 대하여, 사용자의 프로필 정보에 따라, 서로 다른 컨텐츠를 포함하는 제2 응답이 생성되고, 제2 응답에 기초하여 생성된 응답이 각각의 사용자에게 제공될 수 있다.
일 실시 예에 의한 사용자 G의 프로필 정보는, 관심사는 뉴스이고, 현재 위치는 집이라는 정보를 포함할 수 있다. 또한, 사용자 H의 프로필 정보는 관심사는 축구이고, 특히, 선수 1 및 팀 2에 관심이 있으며, 현재 위치는 집이라는 정보를 포함할 수 있다. 또한, 사용자 I의 프로필 정보는, 관심사는 여행 및 스포츠이고, 현재 위치는 도심의 호텔 A라는 정보를 포함할 수 있다.
일 실시 예에 의하면, 사용자 입력에 대응하여 전자 장치(1000)에서 제공될 수 있는 스포츠 컨텐츠에 관한 정보를 포함하는 제1 데이터(1601)에 기초하여 제1 응답이 생성될 수 있다. 예를 들면, 제1 데이터(1601)는 전자 장치(1000)에서 제공될 수 있는 현재 중계 중인 스포츠 경기에 관한 정보를 포함할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 상술한 각각의 사용자의 프로필 정보에 기초하여 제1 데이터(1601)로부터 각 사용자에 대해 서로 다른 제2 데이터(1602, 1603, 1604)를 생성할 수 있다.
예를 들면, 전자 장치(1000)는 사용자 G는 스포츠에는 관심이 없고 뉴스로서의 스포츠만 관심을 가지는 것으로 판단하고, 제1 데이터(1601)에 기초하여, 사용자 G가 관심을 가질만한 내용인, 팀 1 대 팀 2 간의 축구 경기가 진행 중이라는 내용을 포함하는 오디오 데이터를 제2 데이터(1602)로 생성할 수 있다. 상기 제2 데이터(1602)의 오디오 데이터는 사용자 G의 취향을 고려하여, 뉴스 톤으로 상술한 내용을 리딩하는 음성을 포함할 수 있다.
또한, 예를 들면, 전자 장치(1000)는 사용자 H는 축구 경기와 선수 1 및 팀 2에 관심이 있다는 특징을 고려하여, 제1 데이터(1601)에 기초하여, 오디오 데이터를 포함하는 제2 데이터(1603)를 생성할 수 있다. 사용자 H에 대한 제2 데이터(1603)의 오디오 데이터는, 선수 1 이 출전하는, 팀 1 대 팀 2 간의 축구 경기가 진행 중이라는 내용을 리딩하는 흥미로운 어조의 음성을 포함할 수 있다. 또한, 제2 데이터(1603)는, 선수 1의 클립 영상, 스틸 영상 등을 포함할 수 있다.
또한, 예를 들면, 전자 장치(1000)는 사용자 I가 여행에 관심이 있다는 특징을 고려하여, 제1 데이터(1601)에 기초하여, 오디오 데이터를 포함하는 제2 데이터(1604)를 생성할 수 있다. 사용자 I에 대한 제2 데이터(1604)의 오디오 데이터는, 스페인 스타디움 1에서, 팀 1 대 팀 2 간의 축구 경기가 진행 중이라는 내용을 리딩하는 음성을 포함할 수 있다. 또한, 제2 데이터(1604)는 스페인 스타디움 1의 위치, 영상 등의 정보를 더 포함할 수 있다.
일 실시 예에 의하면, 각 사용자에 대하여 생성된 제2 데이터(1602, 1603, 1604)에 기초하여, 각 사용자에 대한 제2 응답이 생성될 수 있다. 또한, 제2 응답에 기초하여, 사용자 입력에 대한 응답이 제공될 수 있다. 따라서, 일 실시 예에 의하면, 각 사용자의 프로필 정보에 따라, 동일한 사용자 입력에 대해 서로 다른 응답이 제공될 수 있다.
도 17은 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
도 17을 참조하면, "원자가 무엇이지?(What is an atom?)"란 동일한 입력에 대하여, 사용자의 프로필 정보에 따라, 서로 다른 컨텐츠를 포함하는 제2 응답이 생성되고, 제2 응답에 기초하여 생성된 응답이 각각의 사용자에게 제공될 수 있다.
일 실시 예에 의한, 사용자 J의 프로필 정보는, 기본적인 과학 지식 수준을 가지며, 간략한 사용자 인터페이스를 선호함을 나타내는 정보를 포함할 수 있다. 또한, 사용자 K의 프로필 정보는, 과학을 좋아하는, 중학생 정도의 과학 지식 수준을 가짐을 나타내는 정보를 포함할 수 있다. 또한, 사용자 L의 프로필 정보는 만화를 좋아하는 어린이이며, 과학 지식 수준이 초등학생 정도임을 나타내는 정보를 포함할 수 있다.
일 실시 예에 의하면, 사용자 입력에 대응하여 전자 장치(1000)에서 제공될 수 있는 원자에 관한 기본적인 정보를 포함하는 제1 데이터(1701)에 기초하여 제1 응답이 생성될 수 있다. 예를 들면, 제1 데이터(1701)는 백과사전에서 검색될 수 있는 원자의 의미에 관한 정보를 포함할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 상술한 각각의 사용자의 프로필 정보에 기초하여 제1 데이터(1701)로부터 각 사용자에 대해 서로 다른 제2 데이터(1702, 1703, 1704)를 생성할 수 있다.
예를 들면, 전자 장치(1000)는 사용자 J가 기본적인 과학 지식 수준을 가지며, 간략한 사용자 인터페이스를 선호함을 고려하여, 원자에 관한 간단한 설명을 포함하는 영상 데이터 및 오디오 데이터를 포함한 제2 데이터(1702)를 생성할 수 있다.
또한, 전자 장치(1000)는 사용자 K가 과학을 좋아하는, 중학생 정도의 과학 지식 수준을 가짐을 고려하여, 중학생 수준에 맞는 원자에 관한 설명을 포함하는 영상 데이터 및 오디오 데이터를 포함한 제2 데이터(1703)를 생성할 수 있다.
또한, 전자 장치(1000)는 사용자 L이 만화를 좋아하는 어린이이며, 과학 지식 수준이 초등학생 정도임을 고려하여, 초등학생 수준에 맞는 원자에 관해 만화 캐릭터를 통해 설명하는 영상 데이터 및 오디오 데이터를 포함한 제2 데이터(1704)를 생성할 수 있다.
일 실시 예에 의하면, 각 사용자에 대하여 생성된 제2 데이터(1702, 1703, 1704)에 기초하여, 각 사용자에 대한 제2 응답이 생성될 수 있다. 또한, 제2 응답에 기초하여, 사용자 입력에 대한 응답이 제공될 수 있다. 따라서, 일 실시 예에 의하면, 각 사용자의 프로필 정보에 따라, 동일한 사용자 입력에 대해 서로 다른 응답이 제공될 수 있다.
도 18은 일 실시 예에 의한 사용자 입력에 대한 응답을 제공하는 일 예를 나타낸 도면이다.
도 18을 참조하면, 사용자 M에 의한 사용자 입력에 대해, 상황 정보에 기초한 서로 다른 응답이 제공될 수 있다.
일 실시 예에 의하면, 사용자 M의 상황 정보 중 프로필 정보는, 선호하는 택시 서비스 제공자가 택시 A이고, 도착 시간보다는 저렴한 요금의 택시 서비스를 더 선호함을 나타내는 정보, 사용자 M의 회사 출근 시간에 관한 정보를 포함할 수 있다. 또한, 사용자 M의 상황 정보는, 긴급한 상황인지 여부를 나타내는 정보를 포함할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)에서 "병원으로 가는 택시를 예약해줘(1801)"란 사용자 M의 입력이 수신될 수 있다. 일 실시 예에 의한 제1 데이터(1802)는 사용자 M의 입력 정보에 기초하여 생성될 수 있다. 예를 들면, 전자 장치(1000)는, 사용자의 입력으로부터 목적지 정보인 "병원"에 기초하여, 제1 데이터(1802)를 생성할 수 있다.
일 실시 예에 의한 제1 데이터(1802)는, 택시 A 및 B에 의한 택시 예약 정보를 포함할 수 있다. 다만, 일 실시 예에 의한 상황 정보가, 긴급한 상황임을 나타내는 정보를 포함하는 경우, 전자 장치(1000)는, 상술한 상황 정보에 기초하여, 제1 데이터(1802)로부터 제2 데이터(1803)를 생성할 수 있다. 예를 들면, 전자 장치(1000)는, 요금이 더 비싸고, 사용자 M이 선호하는 택시 제공자가 아니지만 도착 시간이 더 빠른 택시 B에 의한 택시 예약 서비스를 제공하는 사용자 인터페이스를 포함하는 제2 데이터(1803)를 생성할 수 있다. 또한, 제2 데이터(1803)는, 택시 B에 의한 택시 예약 서비스와 관련된 "병원으로 가는 택시가 곧 도착합니다."의 안내 음성을 더 포함할 수 있다.
일 실시 예에 의하면, 제1 데이터(1802) 및 제2 데이터(1803)에 기초하여 각각 생성된 제1 응답 및 제2 응답이 결합되고, 결합된 응답이 사용자 M에 제공될 수 있다. 사용자 M은 제1 응답 및 제2 응답이 결합된 응답에 기초하여, 전자 장치(1000)에서, 택시 예약을 위한 추가적인 입력을 수행할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)에서 "쇼핑몰로 가는 택시를 예약해줘(1804)"란 사용자 M의 입력이 수신될 수 있다. 일 실시 예에 의한 제1 데이터(1805)는 사용자 M의 입력 정보에 기초하여 생성될 수 있다. 예를 들면, 전자 장치(1000)는, 사용자의 입력으로부터 목적지 정보인 "쇼핑몰"에 기초하여, 제1 데이터(1805)를 생성할 수 있다.
일 실시 예에 의한 제1 데이터(1805)는, 택시 A 및 B에 의한 택시 예약 정보를 포함할 수 있다. 일 실시 예에 의한 사용자 M의 프로필 정보에 기초하여, 전자 장치(1000)는, 제1 데이터(1805)로부터 제2 데이터(1806)를 생성할 수 있다. 예를 들면, 전자 장치(1000)는, 요금이 더 싸고, 사용자 M이 선호하는 택시 서비스 제공자인 택시 A에 의한 택시 예약 서비스를 제공하는 사용자 인터페이스를 포함하는 제2 데이터(1806)를 생성할 수 있다. 또한, 제2 데이터(1806)는, 택시 A에 의한 택시 예약 서비스와 관련된 "목적지인 쇼핑몰로 출발합니다"의 안내 음성을 더 포함할 수 있다.
일 실시 예에 의하면, 제1 데이터(1805) 및 제2 데이터(1806)에 기초하여 각각 생성된 제1 응답 및 제2 응답이 결합되고, 결합된 응답이 사용자 M에 제공될 수 있다. 사용자 M은 제1 응답 및 제2 응답이 결합된 응답에 기초하여, 전자 장치(1000)에서, 택시 예약을 위한 추가적인 입력을 수행할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)에서 "회사로 가는 택시를 예약해줘(1807)"란 사용자 M의 입력이 수신될 수 있다. 일 실시 예에 의한 제1 데이터(1808)는 사용자 M의 입력 정보에 기초하여 생성될 수 있다. 예를 들면, 전자 장치(1000)는, 사용자의 입력으로부터 목적지 정보인 "회사"에 기초하여, 제1 데이터(1808)를 생성할 수 있다.
일 실시 예에 의한 제1 데이터(1808)는, 택시 A 및 B에 의한 택시 예약 정보를 포함할 수 있다. 일 실시 예에 의한 사용자 M의 프로필 정보에 기초하여, 전자 장치(1000)는, 제1 데이터(1808)로부터 제2 데이터(1809)를 생성할 수 있다. 예를 들면, 전자 장치(1000)는, 요금이 더 싸고, 회사 출근시간인 9시 이전에 도착할 수 있고, 사용자 M이 선호하는 택시 서비스 제공자인 택시 A에 의한 택시 예약 서비스를 제공하는 사용자 인터페이스를 포함하는 제2 데이터(1809)를 생성할 수 있다. 또한, 제2 데이터(1809)는, 택시 A에 의한 택시 예약 서비스와 관련된 "목적지인 회사로 오전 8시 53분까지 도착합니다"의 안내 음성을 더 포함할 수 있다.
일 실시 예에 의하면, 제1 데이터(1808) 및 제2 데이터(1809)에 기초하여 각각 생성된 제1 응답 및 제2 응답이 결합되고, 결합된 응답이 사용자 M에 제공될 수 있다. 사용자 M은 제1 응답 및 제2 응답이 결합된 응답에 기초하여, 전자 장치(1000)에서, 택시 예약을 위한 추가적인 입력을 수행할 수 있다.
일 실시 예에 의하면, 사용자의 입력에 대한 기본적인 응답과 함께, 상황 정보에 기초하여 생성된 부가적인 응답이 함께 제공됨에 따라, 보다 나은 사용자 경험이 제공될 수 있다.
일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에서 사용자의 입력에 대한 응답을 출력하는 방법은,
    상기 사용자로부터 입력을 수신하는 단계;
    상기 입력과 대응되는 응답인, 제1 컨텐츠를 포함하는 제1 응답을 생성하는 단계;
    상기 사용자에 관한 상황(context) 정보를 획득하는 단계;
    상기 상황 정보에 기초하여, 상기 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는, 상기 입력과 대응되는 응답인 제2 응답을 생성하는 단계;
    상기 제1 응답 및 상기 제2 응답을 결합하는 단계; 및
    상기 입력에 대한 응답으로서, 상기 결합된 응답을 출력하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 컨텐츠의 타입은, 텍스트, 동영상, 이미지 및 오디오 중 적어도 하나를 포함하고,
    상기 제2 컨텐츠의 타입은, 텍스트, 동영상, 이미지, 오디오, LED 출력, 진동 출력, 시각적 또는 청각적 효과, 및 사용자 인터페이스 중 적어도 하나를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 제1 응답은, 상기 입력에 기초하여 획득된 제1 데이터에 기초하여 생성되고,
    상기 제2 응답은, 상기 상황 정보에 기초하여, 상기 제1 데이터가 수정됨으로써 획득된 제2 데이터에 기초하여 생성되는, 방법.
  4. 제1항에 있어서, 상기 제2 응답은
    생성 모델(generative model)에 상기 상황 정보가 입력됨으로써 생성되는, 방법.
  5. 제4항에 있어서,
    상기 전자 장치에서 수집된, 상기 생성 모델을 학습하기 위한 정보로서, 상기 사용자와 관련된 정보를 포함하는 학습 데이터를 획득하는 단계를 더 포함하고,
    상기 생성 모델은, 상기 학습 데이터와 상기 제2 응답 간의 상관도에 기초하여, 학습되는, 방법.
  6. 제1항에 있어서, 상기 제2 응답을 생성하는 단계는
    상기 제1 컨텐츠에 대한 특징(feature) 정보를 획득하는 단계; 및
    상기 제1 컨텐츠의 특징 정보 및 상기 상황 정보에 기초하여, 상기 제2 컨텐츠를 포함하는 상기 제2 응답을 생성하는 단계를 포함하는, 방법.
  7. 제1항에 있어서,
    상기 상황 정보는, 상기 사용자의 각각의 상황과 대응되는, 적어도 하나의 특징(feature)에 대한 상황 정보를 포함하고,
    상기 출력된 응답에 대한 상기 사용자의 피드백 정보에 기초하여, 상기 상황 정보에 대한 적어도 하나의 특징이 결정되고, 상기 결정된 적어도 하나의 특징에 기초하여, 상기 상황 정보가 획득되는, 방법.
  8. 사용자의 입력에 대한 응답을 출력하는 전자 장치에 있어서,
    상기 사용자로부터 입력을 수신하는 사용자 입력부;
    상기 입력과 대응되는 응답인, 제1 컨텐츠를 포함하는 제1 응답을 생성하고, 상기 사용자에 관한 상황 정보를 획득하고, 상기 상황 정보에 기초하여, 상기 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는, 상기 입력과 대응되는 응답인 제2 응답을 생성하고, 상기 제1 응답 및 상기 제2 응답을 결합하는 적어도 하나의 프로세서; 및
    상기 입력에 대한 응답으로서, 상기 결합된 응답을 출력하는 출력부를 포함하는, 전자 장치.
  9. 제8항에 있어서,
    상기 제1 컨텐츠의 타입은, 텍스트, 동영상, 이미지 및 오디오 중 적어도 하나를 포함하고,
    상기 제2 컨텐츠의 타입은, 텍스트, 동영상, 이미지, 오디오, LED 출력, 진동 출력, 시각적 또는 청각적 효과, 및 사용자 인터페이스 중 적어도 하나를 포함하는, 전자 장치.
  10. 제8항에 있어서,
    상기 제1 응답은, 상기 입력에 기초하여 획득된 제1 데이터에 기초하여 생성되고,
    상기 제2 응답은, 상기 상황 정보에 기초하여, 상기 제1 데이터가 수정됨으로써 획득된 제2 데이터에 기초하여 생성되는, 전자 장치.
  11. 제8항에 있어서, 상기 제2 응답은
    생성 모델에 상기 상황 정보가 입력됨으로써 생성되는, 전자 장치.
  12. 제11항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 전자 장치에서 수집된, 상기 생성 모델을 학습하기 위한 정보로서, 상기 사용자와 관련된 정보를 포함하는 학습 데이터를 획득하고,
    상기 생성 모델은, 상기 학습 데이터와 상기 제2 응답 간의 상관도에 기초하여, 학습되는, 전자 장치.
  13. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제1 컨텐츠에 대한 특징 정보를 획득하고,
    상기 제1 컨텐츠의 특징 정보 및 상기 상황 정보에 기초하여, 상기 제2 컨텐츠를 포함하는 상기 제2 응답을 생성하는, 전자 장치.
  14. 제8항에 있어서,
    상기 상황 정보는, 상기 사용자의 각각의 상황과 대응되는, 적어도 하나의 특징에 대한 상황 정보를 포함하고,
    상기 출력된 응답에 대한 상기 사용자의 피드백 정보에 기초하여, 상기 상황 정보의 적어도 하나의 특징이 결정되고, 상기 결정된 적어도 하나의 특징에 기초하여, 상기 상황 정보가 획득되는, 전자 장치.
  15. 사용자로부터 입력을 수신하는 동작;
    상기 입력과 대응되는 응답인, 제1 컨텐츠를 포함하는 제1 응답을 생성하는 동작;
    상기 사용자에 관한 상황 정보를 획득하는 동작;
    상기 상황 정보에 기초하여, 상기 제1 컨텐츠의 타입과 다른 타입의 제2 컨텐츠를 포함하는, 상기 입력과 대응되는 응답인 제2 응답을 생성하는 동작;
    상기 제1 응답 및 상기 제2 응답을 결합하는 동작; 및
    상기 입력에 대한 응답으로서, 상기 결합된 응답을 출력하는 동작을 수행하도록 하는 프로그램이 저장된 기록매체.
KR1020190068263A 2018-06-15 2019-06-10 사용자의 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법 KR20190142219A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980028072.8A CN112041787A (zh) 2018-06-15 2019-06-17 利用应用来输出对用户输入的响应的电子装置及其操作方法
PCT/KR2019/007284 WO2019240562A1 (en) 2018-06-15 2019-06-17 Electronic device and operating method thereof for outputting response to user input, by using application
EP19820324.2A EP3776149A4 (en) 2018-06-15 2019-06-17 ELECTRONIC DEVICE AND ITS OPERATING PROCEDURE FOR OUTPUTING A RESPONSE TO USER INPUT USING AN APPLICATION
US16/443,014 US20200005784A1 (en) 2018-06-15 2019-06-17 Electronic device and operating method thereof for outputting response to user input, by using application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201841022428 2018-06-15
IN201841022428(???) 2019-05-14

Publications (1)

Publication Number Publication Date
KR20190142219A true KR20190142219A (ko) 2019-12-26

Family

ID=69103449

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190068263A KR20190142219A (ko) 2018-06-15 2019-06-10 사용자의 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법

Country Status (3)

Country Link
EP (1) EP3776149A4 (ko)
KR (1) KR20190142219A (ko)
CN (1) CN112041787A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102645105B1 (ko) * 2023-06-02 2024-03-07 주식회사 아람북스 서적 기반의 아동 교육 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120031722A (ko) * 2010-09-27 2012-04-04 삼성전자주식회사 동적 응답 생성 장치 및 방법
US10209853B2 (en) * 2013-12-20 2019-02-19 Robert Bosch Gmbh System and method for dialog-enabled context-dependent and user-centric content presentation
KR101480669B1 (ko) * 2014-03-24 2015-01-26 충남대학교산학협력단 얼굴 표정을 이용한 감정 인식 어플리케이션이 구비된 단말기 및 그 제어방법
KR102393296B1 (ko) * 2015-01-15 2022-05-02 삼성전자주식회사 응답을 디스플레이 하는 디바이스 및 방법
US10091140B2 (en) * 2015-05-31 2018-10-02 Microsoft Technology Licensing, Llc Context-sensitive generation of conversational responses
US20160378747A1 (en) * 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10884503B2 (en) * 2015-12-07 2021-01-05 Sri International VPA with integrated object recognition and facial expression recognition
JP6465077B2 (ja) * 2016-05-31 2019-02-06 トヨタ自動車株式会社 音声対話装置および音声対話方法
US10726836B2 (en) * 2016-08-12 2020-07-28 Kt Corporation Providing audio and video feedback with character based on voice command

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102645105B1 (ko) * 2023-06-02 2024-03-07 주식회사 아람북스 서적 기반의 아동 교육 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
EP3776149A4 (en) 2021-05-26
CN112041787A (zh) 2020-12-04
EP3776149A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
US20220284896A1 (en) Electronic personal interactive device
CN105573573B (zh) 基于图像管理用户信息的设备和方法
CN110998725B (zh) 在对话中生成响应
CN109074117B (zh) 提供基于情绪的认知助理系统、方法及计算器可读取媒体
AU2014236686B2 (en) Apparatus and methods for providing a persistent companion device
KR102556492B1 (ko) 텍스트와 연관된 이미지 제공 방법 및 이를 위한 전자 장치
US20200005784A1 (en) Electronic device and operating method thereof for outputting response to user input, by using application
US10382907B2 (en) Device and method for providing notification message about call request
CN106164962A (zh) 基于用户的显式声明的个性化推荐
KR102628042B1 (ko) 연락처 정보를 추천하는 방법 및 디바이스
TWI680400B (zh) 基於影像管理使用者資訊的裝置與方法
KR20190133100A (ko) 어플리케이션을 이용하여 음성 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법
US11521111B2 (en) Device and method for recommending contact information
US20160154777A1 (en) Device and method for outputting response
Pogorelc et al. Semantic ambient media: From ambient advertising to ambient-assisted living
US20190251355A1 (en) Method and electronic device for generating text comment about content
JP7078035B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20230393659A1 (en) Tactile messages in an extended reality environment
KR20190142219A (ko) 사용자의 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법
US11617957B2 (en) Electronic device for providing interactive game and operating method therefor
Gushima et al. A novel interaction design approach for accessing daily casual information through a virtual creature
Pascoal Requirements of augmented reality for outdoor environments
WO2023192278A1 (en) Interaction initiation by a virtual assistant
KR20210116838A (ko) 제스처에 기초하여, 음성 입력을 처리하는 전자 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination