KR20190092997A - 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법 - Google Patents

추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR20190092997A
KR20190092997A KR1020180012392A KR20180012392A KR20190092997A KR 20190092997 A KR20190092997 A KR 20190092997A KR 1020180012392 A KR1020180012392 A KR 1020180012392A KR 20180012392 A KR20180012392 A KR 20180012392A KR 20190092997 A KR20190092997 A KR 20190092997A
Authority
KR
South Korea
Prior art keywords
electronic device
application
input
user
recommended
Prior art date
Application number
KR1020180012392A
Other languages
English (en)
Other versions
KR102490426B1 (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 KR1020180012392A priority Critical patent/KR102490426B1/ko
Priority to PCT/KR2019/001379 priority patent/WO2019151804A1/ko
Priority to US16/966,756 priority patent/US11494443B2/en
Publication of KR20190092997A publication Critical patent/KR20190092997A/ko
Application granted granted Critical
Publication of KR102490426B1 publication Critical patent/KR102490426B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 다양한 실시 예 들은, 사용자의 입력을 이용하여, 사용자의 입력에 대응하는 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법에 관한 것이다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 사용자의 입력을 수신하도록 설정된 입력 모듈, 상기 입력 모듈과 작동적으로 연결된 프로세서, 상기 프로세서와 작동적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시 상기 프로세서가, 상기 입력 모듈을 통하여 쿼리를 포함하는 제1 입력을 수신하고, 상기 전자 장치에 설치된 복수의 어플리케이션들 중에서, 상기 쿼리에 매칭되는 추천 어플리케이션을 결정하고, 상기 추천 어플리케이션의 실행을 위한 확인 메시지를 출력하고, 상기 확인 메시지에 대응한 제2 입력을 수신하고, 상기 제2 입력의 수신에 대응하여, 상기 추천 어플리케이션을 실행하도록 하는 명령어들을 저장할 수 있다.

Description

추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법{ELECTRONIC APPARATUS FOR EXECUTING RECOMMENDATION APPLICATION AND OPERATING METHOD THEREOF}
본 발명의 다양한 실시 예 들은, 사용자의 입력을 이용하여, 사용자의 입력에 대응하는 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법에 관한 것이다.
스마트 폰과 같은 휴대용 전자 장치가 점차 고성능화됨에 따라, 전자 장치를 통해 다양한 서비스들이 제공되고 있다. 구체적으로, 전화 통화, 문자 발신 등과 같은 기본적인 서비스에 더하여, 게임, 메신저, 문서 편집, 이미지/동영상 재생 및 편집 등 보다 복잡한 서비스들로 서비스 영역이 확장되고 있다. 또한, 전자 장치를 통해 제공되는 서비스는, 전자 장치에 설치되는 어플리케이션을 통해 제공되고 있다.
전자 장치에 의해 제공되는 서비스가 점차 복잡해짐에 따라, 사용자는 의도한 서비스를 제공 받기 위하여, 하나 이상의 기능들을 수동적으로 설정하고 있다.
또한, 동일한 서비스를 지원하는 어플리케이션들의 종류가 늘어남에 따라, 사용자는 원하는 서비스를 제공 받기 위하여 복수의 어플리케이션들을 비교하고, 비교 결과에 따라 선택된 어플리케이션을 실행하고 있다.
전자 장치를 통해 제공되는 서비스가 다양해지고, 동일한 서비스를 지원하는 어플리케이션의 종류가 늘어남에 따라, 사용자는 의도한 서비스를 제공 받기 위하여 여러 번의 조작들을 수행해야 하며, 이는 사용자의 불편을 초래할 수 있다. 예를 들어, 하나 이상의 기능들을 수동적으로 설정하는 동작은 사용자의 불편을 초래할 수 있다. 또한, 동일한 서비스를 지원하는 유사 어플리케이션이 늘어나면서, 사용자는 복수의 어플리케이션들 중에서 하나의 어플리케이션을 선택하는 불편함을 감수해야 한다.
본 발명의 다양한 실시 예들은, 사용자가 의도한 서비스를 제공하기까지 요구되는 과정들을 줄임으로써, 최소한의 조작을 통해 사용자가 의도한 서비스를 제공할 수 있는 장치 및 방법을 제공함에 있다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 사용자의 입력을 수신하도록 설정된 입력 모듈, 상기 입력 모듈과 작동적으로 연결된 프로세서, 상기 프로세서와 작동적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시 상기 프로세서가, 상기 입력 모듈을 통하여 쿼리를 포함하는 제1 입력을 수신하고, 상기 전자 장치에 설치된 복수의 어플리케이션들 중에서, 상기 쿼리에 매칭되는 추천 어플리케이션을 결정하고, 상기 추천 어플리케이션의 실행을 위한 확인 메시지를 출력하고, 상기 확인 메시지에 대응한 제2 입력을 수신하고, 상기 제2 입력의 수신에 대응하여, 상기 추천 어플리케이션을 실행하도록 하는 명령어들을 저장할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치의 동작 방법은, 쿼리를 포함하는 제1 입력을 수신하는 동작, 상기 전자 장치에 설치된 복수의 어플리케이션들 중에서, 상기 쿼리에 매칭되는 추천 어플리케이션을 결정하는 동작, 상기 추천 어플리케이션의 실행을 위한 확인 메시지를 출력하는 동작, 상기 확인 메시지에 대응한 제2 입력을 수신하는 동작, 상기 제2 입력의 수신에 대응하여, 상기 추천 어플리케이션을 실행하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르는 전자 장치는, 전자 장치에 설치된 복수의 어플리케이션들로부터 수집된 정보를 이용하여, 사용자가 의도하는 서비스를 파악하고, 최소한의 조작을 통하여 사용자가 의도하는 서비스를 제공할 수 있다.
도 1은, 다양한 실시 예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 발명의 다양한 실시 예들에 따른, 사용자의 입력에 대응하는 추천 어플리케이션을 실행하기 위한 시스템을 도시한다.
도 3은 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 4는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 5는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 6은 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 7은 본 발명의 다양한 실시 예들에 따른, 제2 어플리케이션을 결정하기 위해 미리 결정된 하나 이상의 기준들을 나타낸 도면이다.
도 8은 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 9는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 10은 본 발명의 다양한 실시 예들에 따른 사용자 인터페이스를 나타낸 도면이다.
도 11은 본 발명의 다양한 실시 예들에 따른 사용자 인터페이스를 나타낸 도면이다.
도 12는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 13은 본 발명의 다양한 실시 예들에 따른 사용자의 음성 입력에 대응하여, 추천 어플리케이션의 실행을 위한 음성 메시지를 출력하는 전자 장치를 나타낸 도면이다.
도 14는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 15은 본 발명의 다양한 실시 예들에 따른 사용자 인터페이스를 나타낸 도면이다.
도 16은 본 발명의 다양한 실시 예들에 따른, 추천 어플리케이션을 결정한 전자 장치가 추천 어플리케이션을 통해 수행될 기능에 대한 설정 값을 결정하는 과정을 설명하기 위한 도면이다.
도 17은 본 발명의 다양한 실시 예들에 따른, 추천 어플리케이션을 결정한 전자 장치가 추천 어플리케이션을 통해 수행될 기능에 대한 설정 값을 결정하는 과정을 설명하기 위한 도면이다.
도 1은, 다양한 실시 예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일 실시 예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는, 외부 장치(예: 제2 네트워크(199)에 연결된 서버(108))를 통하지 않고, 전자 장치(101)의 메모리(130)에 저장된 모델을 이용하여 실행될 수 있다. 예를 들어, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는, 규칙 기반 모델, 또는 기계 학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공 지능 모델을 이용할 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 2는 본 발명의 다양한 실시 예들에 따른, 사용자의 입력에 대응하는 추천 어플리케이션을 실행하기 위한 시스템을 도시한다.
도 2를 참고하면, 사용자의 입력에 대응하는 추천 어플리케이션을 실행하기 위한 시스템(200)은 사용자(210) 및 전자 장치(220)를 포함할 수 있다.
일 실시 예에서, 사용자(210)는 전자 장치(220)를 운용 및 동작시킴으로써, 의도하는 서비스를 제공 받는 사용자일 수 있다. 예를 들어, 사용자(210)는 전자 장치(220)의 터치 스크린(예: 도 1의 표시 장치(160))을 통하여 쿼리를 포함하는 제1 입력을, 전자 장치(220)에 입력할 수 있다.
일 실시 예에서, 전자 장치(220)는 사용자의 입력에 대응하여, 사용자가 원하는 서비스를 제공하는 장치일 수 있다. 일 실시 예에서, 전자 장치(220)는 전자 장치(101)일 수 있다. 예를 들어, 전자 장치(220)는 터치 스크린(160)을 통하여 사용자로부터, 쿼리를 포함하는 텍스트 입력을 수신할 수 있다. 다른 예를 들어, 전자 장치(220)는 추천 어플리케이션의 실행 확인 메시지를 출력한 후, 추천 어플리케이션의 실행을 승인하는 제2 입력을 수신할 수 있다. 전자 장치(220)는 제2 입력의 수신에 대응하여 추천 어플리케이션을 실행할 수 있다.
일 실시 예에서, 추천 어플리케이션은 사용자가 원하는 서비스에 대응하는 기능을 수행하도록 설정된 (혹은 수행할 수 있는) 소프트웨어 혹은 프로그램일 수 있다. 추천 어플리케이션은 하나 이상일 수 있다. 예를 들어, 사용자가 원하는 서비스가 "기저귀 구매"인 경우, 추천 어플리케이션은 아마존(amazon) 어플리케이션, 이베이(ebay) 어플리케이션일 수 있다. 다른 예를 들어, 사용자가 원하는 서비스가 "shakira의 try everything 음악 재생"인 경우, 추천 어플리케이션은 유투브(youtube) 어플리케이션, 스포티파이(spotify) 어플리케이션일 수 있다.
일 실시 예에서, 전자 장치(220)는 사용자(210)로부터 쿼리를 입력 받을 수 있다(230). 일 실시 예에서, 전자 장치(220)는 사용자(210)로부터 쿼리를 포함하는 제1 입력을 입력 받을 수 있다. 일 실시 예에서, 쿼리는 사용자가 원하는 서비스 (혹은 기능)을 단순하게 표현 (또한 설명) 하기 위한 하나 이상의 핵심 단어일 수 있다. 일 실시 예에서, 쿼리는 사용자가 원하는 복수 개의 서비스들(혹은 복수 개의 기능들)의 집합인 목적 행동(target action)을 단순하게 표현하기 위한 하나 이상의 단어일 수 있다.
일 실시 예에서, 쿼리는 키워드 일 수 있다. 예를 들어, 사용자가 원하는 서비스가 "기저귀 구매"인 경우, 쿼리는 구매의 대상인 "기저귀(diapers)"일 수 있다. 다른 예를 들어, 사용자가 원하는 서비스가 "shakira의 try everything 음악 재생"인 경우, 쿼리는 노래 제목인 "try everything"일 수 있다.
일 실시 예에서, 전자 장치(220)는 추천 어플리케이션의 실행에 대한 확인 메시지를 출력할 수 있다(240). 일 실시 예에서, 확인 메시지는 추천 어플리케이션의 실행을 사용자(210)로부터 확인 (혹은 승인) 받기 위한 메시지일 수 있다. 예를 들어, 전자 장치(220)는 추천 어플리케이션의 실행 아이콘을 디스플레이(미도시)에 표시할 수 있다. 다른 예를 들어, 전자 장치(220)는 추천 어플리케이션의 실행을 사용자(210)로부터 승인 받기 위한 음성 메시지를, 스피커(미도시)를 통해 출력할 수 있다.
일 실시 예에서, 전자 장치(220)는 확인 메시지에 대한 사용자(210)의 승인을 입력 받을 수 있다(250). 예를 들어, 전자 장치(220)가 추천 어플리케이션의 실행 아이콘을 디스플레이에 표시한 경우, 전자 장치(220)는 실행 아이콘에 대한 사용자의 터치 입력을 입력 받을 수 있다. 다른 예를 들어, 전자 장치(220)가 음성 메시지를 스피커를 통해 출력한 경우, 전자 장치(220)는 마이크(미도시)를 통하여 사용자의 긍정 응답 음성 메시지(예: "yes")를 수신할 수 있다.
일 실시 예에서, 전자 장치(220)는 추천 어플리케이션을 실행할 수 있다(260). 전자 장치(220)는 추천 어플리케이션을 실행하여, 특정한 기능을 수행할 수 있다. 예를 들어, 전자 장치(220)는 유투브 어플리케이션을 실행하여, 특정한 음악(예: shakira의 try everything)을 재생할 수 있다.
도 3은 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 3을 참고할 때, 전자 장치(300)는 전자 장치(220)일 수 있다.
일 실시 예에서, 전자 장치(300)는 입력 모듈(310), 출력 모듈(320), 통신 모듈(330), 메모리(340), 프로세서(350)를 포함할 수 있다.
일 실시 예에서, 입력 모듈(310)는 사용자(예: 도 2의 사용자(210))로부터 다양한 형태의 입력을 수신할 수 있다. 일 실시 예에서, 입력 모듈(310)은 입력 장치(150)일 수 있다. 입력 모듈(310)은 사용자의 터치 입력(예: 탭, 드래그, 플리킹 입력 등)을 수신할 수 있다. 예를 들어 입력 모듈(310)은 터치스크린 디스플레이일 수 있다. 입력 모듈(310)은 사용자의 음성 입력을 수신할 수 있다. 예를 들어, 입력 모듈(310)은 마이크일 수 있다.
일 실시 예에서, 출력 모듈(320)은 사용자에게 다양한 형태로 정보 또는 데이터를 출력할 수 있다. 출력 모듈(320)은 화면에 추천 어플리케이션에 대한 정보를 표시할 수 있다. 예를 들어, 출력 모듈(320)은 표시 장치(160)일 수 있다. 출력 모듈(320)는 추천 어플리케이션의 실행을 위한 확인 메시지를 음성 메시지 형태로 출력할 수 있다. 예를 들어, 출력 모듈(320)은 음향 출력 장치(155)일 수 있다.
일 실시 예에서, 통신 모듈(330)은 전자 장치(300)와 외부 전자 장치(예: 서버(미도시))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 일 실시 예에서, 통신 모듈(330)은 통신 모듈(190)일 수 있다. 예를 들어, 전자 장치(300)는 추천 어플리케이션(예: 아마존 어플리케이션) 및 추천 어플리케이션을 통하여 수행될 기능(예: 물품 구매 기능)을 결정한 후, 상기 기능이 수행되기 위하여 설정될 필요가 있는 하나 이상의 항목(예: 결제 방식, 배송 정보, 가격, 구매 대상 등)에 대한 정보를 통신 모듈(330)을 통하여 서버로부터 수신할 수 있다.
일 실시 예에서, 메모리(340)는 프로세서(350)의 제어 하에, 적어도 일시적으로, 전자 장치(300)에서 획득 혹은 생성한 데이터, 혹은 외부 전자 장치로부터 수신한 데이터를 저장할 수 있다. 예를 들어, 메모리(340)는 전자 장치(300)에 설치된 하나 이상의 어플리케이션들의 로그 데이터를 저장할 수 있다. 일 실시 예에서, 메모리(340)는 특정한 연산을 수행하기 위한 프로그램 혹은 명령어들의 집합을 저장할 수 있다. 예를 들어, 메모리(340)는, 전자 장치(300)가 쿼리를 포함하는 제1 입력을 사용자로부터 수신하였을 때, 쿼리에 매칭되는 추천 어플리케이션을 결정하기 위한 프로그램을 저장할 수 있다.
일 실시 예에서, 프로세서(350)는 전자 장치(300)의 전반적인 동작을 제어할 수 있다. 일 실시 예에서, 프로세서(350)는 쿼리를 포함하는 제1 입력을 입력 모듈(310)을 통해 수신하였을 때, 쿼리에 매칭되는 추천 어플리케이션을 결정하기 위하여, 메모리(340)에 저장된 어플리케이션들의 로그 데이터를 검색할 수 있다. 다른 실시 예에서, 추천 어플리케이션이 결정되면, 프로세서(350)는 추천 어플리케이션의 실행을 위한 확인 메시지를 생성할 수 있다. 또 다른 실시 예에서, 확인 메시지에 대한 사용자의 긍정 응답을 수신한 경우, 프로세서(350)는 추천 어플리케이션을 실행할 수 있다.
도 4는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 4의 동작 주체는 전자 장치(예: 도 3의 전자 장치(300)) 혹은 전자 장치(300)의 프로세서(350)일 수 있다.
410동작에서, 전자 장치(300)는 쿼리를 포함하는 제1 입력을 수신할 수 있다. 일 실시 예에서, 전자 장치(300)는 사용자의 텍스트 입력을 수신하기 위한 사용자 인터페이스(예: 도 10의 검색 창(1030))를 표시할 수 있다. 전자 장치(300)는 검색 창(1030)을 통하여 쿼리를 포함하는 텍스트 입력을 수신할 수 있다. 다른 실시 예에서, 전자 장치(300)는 마이크를 통하여 쿼리를 포함하는 사용자의 음성 입력을 수신할 수 있다.
일 실시 예에서, 쿼리는 사용자가 원하는 서비스를 단순하게 표현하기 위한 하나 이상의 핵심 단어일 수 있다. 일 실시 예에서, 쿼리는 키워드일 수 있다. 예를 들어, 사용자가 원하는 서비스가 "기저귀 구매"인 경우, 쿼리는 구매의 대상인 "기저귀(diapers)"일 수 있다.
420동작에서, 전자 장치(300)는 쿼리에 매칭되는 추천 어플리케이션을 결정할 수 있다. 일 실시 예에서, 추천 어플리케이션은 사용자가 원하는 서비스에 대응하는 기능을 수행하도록 설정된 소프트웨어 혹은 프로그램일 수 있다. 일 실시 예에서, 전자 장치(300)는 문언 매치(literal match) 또는 상황 매치(contextual match) 중 적어도 하나를 통하여, 쿼리에 매칭되는 추천 어플리케이션을 결정할 수 있다. 예를 들어, 전자 장치(300)는 전자 장치(300)에 설치된 복수의 어플리케이션들 중에서, 쿼리에 대응하는 텍스트가 로그 데이터에 포함된 어플리케이션을 결정할 수 있다(문언 매치). 복수의 어플리케이션들은 사용자가 설치하지 않아도 기본적으로 제공되는 어플리케이션 (예: 메모, 연락처(contact), 어플리케이션 스토어 등) 및 사용자가 직접 설치한 어플리케이션을 포함할 수 있다.
다른 예를 들어, 전자 장치(300)는 사용자가 이전에 어플리케이션을 사용한 이력 및 현재 상황 정보에 따라, 현 상황에서 쿼리를 입력한 사용자의 의도와 가장 적합하다고 판단되는 어플리케이션을 결정할 수 도 있다(상황 매치). 일 실시 예에서, 전자 장치(300)는 문언 매치와 상황 매치를 모두 사용하여 쿼리에 매칭되는 추천 어플리케이션을 결정할 수도 있다. 예를 들어, 전자 장치(300)는 문언 매치를 통하여 획득한 어플리케이션들을 대상으로, 상황 매치를 수행할 수도 있다.
예를 들어, 쿼리가 "diapers"인 경우, 전자 장치(300)는 전자 장치(300)에 설치된 복수의 어플리케이션들 중에서, "diapers"가 로그 데이터에 포함된 3개의 어플리케이션(예: 아마존 어플리케이션, 메일 어플리케이션, 모바일 결제 어플리케이션)을 결정할 수 있다. 전자 장치(300)는 상기 3개의 어플리케이션들 중에서, 현 상황에서 사용자의 의도와 가장 적합하다고 판단되는 아마존 어플리케이션을, "diapers"에 매칭되는 추천 어플리케이션으로 결정할 수 있다.
430동작에서, 전자 장치(300)는 추천 어플리케이션 실행을 위한 확인 메시지를 출력할 수 있다. 일 실시 예에서, 확인 메시지는 추천 어플리케이션의 실행을 사용자로부터 확인 (혹은 승인) 받기 위한 메시지일 수 있다. 예를 들어, 전자 장치(300)는 확인 메시지에 대한 사용자의 긍정 응답을 수신한 경우, 추천 어플리케이션을 실행할 수 있다.
일 실시 예에서, 확인 메시지에는 추천 어플리케이션의 이름, 추천 어플리케이션을 통하여 수행될 기능, 추천 어플리케이션을 통하여 수행될 기능에 대한 하나 이상의 값들(values)이 포함될 수 있다. 예를 들어, 확인 메시지에는, 사용자가 긍정 응답을 전자 장치(300)에 입력하는 경우, 추천 어플리케이션인 아마존 어플리케이션을 이용하여 온라인 물품 구매라는 기능을 수행할 것을 나타내는 정보를 포함할 수 있다. 다른 예를 들어, 확인 메시지에는 구매 대상(기저귀), 가격(12달러), 배송지(메모리(340)에 회사로 미리 저장된 주소)에 대한 정보가 추가적으로 포함될 수 있다.
일 실시 예에서, 확인 메시지는 다양한 포맷으로 출력될 수 있다. 예를 들어, 확인 메시지는 텍스트 혹은 그래픽 포맷으로 디스플레이에 표시될 수 있다. 다른 예를 들어, 확인 메시지는 사운드 포맷으로 스피커를 통해 출력될 수도 있다.
일 실시 예에서, 추천 어플리케이션을 통하여 수행될 기능에 대한 하나 이상의 값들이 결정되지 않는 경우, 전자 장치(300)는 추천 어플리케이션 실행을 위한 확인 메시지를 출력하지 않을 수 있다.
440동작에서, 전자 장치(300)는 제2 입력을 수신할 수 있다. 일 실시 예에서, 제2 입력은 확인 메시지에 대응하는 사용자 입력일 수 있다. 일 실시 예에서, 제2 입력은 추천 어플리케이션의 실행을 승인(긍정 응답)하거나, 추천 어플리케이션의 실행을 중단(부정 응답)하는 입력일 수 있다. 다른 실시 예에서, 제2 입력은 추천 어플리케이션의 실행을 승인 혹은 중단하기 위해서 추가 정보를 요청하는 입력일 수도 있다.
예를 들어, 추천 어플리케이션의 실행을 위한 실행 아이콘이 확인 메시지에 포함된 경우, 전자 장치(300)는 실행 아이콘에 대한 사용자의 터치 입력(추천 어플리케이션의 실행을 승인)을 감지할 수 있다. 다른 예를 들어, 확인 메시지가 사운드 포맷으로 스피커를 통해 출력되는 경우, 전자 장치(300)는 확인 메시지의 출력으로부터 지정된 시간 이내에, 마이크를 통하여 사용자의 긍정 응답 음성 메시지(예: "yes")를 수신할 수 있다.
다른 예를 들어, 확인 메시지가 사운드 포맷으로 스피커를 통해 출력되는 경우, 전자 장치(300)는 확인 메시지의 출력으로부터 지정된 시간 이내에, 마이크를 통하여 사용자의 부정 응답 음성 메시지를 수신할 수 있다. 전자 장치(300)가 확인 메시지의 출력으로부터 지정된 시간 이내에 사용자의 긍정 응답 음성 메시지를 수신하지 못한 경우에도, 사용자의 부정 응답 음성 메시지를 수신한 경우와 동일하게 처리될 수 있다.
450동작에서, 전자 장치(300)는 추천 어플리케이션을 실행할 수 있다. 일 실시 예에서, 전자 장치(300)는 추천 어플리케이션의 실행을 승인하는 제2 입력을 수신함에 대응하여, 추천 어플리케이션을 실행할 수 있다. 예를 들어, 전자 장치(300)는 확인 메시지에 포함된 실행 아이콘에 대한 사용자 터치 입력을 감지함에 대응하여, 추천 어플리케이션을 실행할 수 있다.
도 5는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 5의 동작 주체는 전자 장치(예: 도 3의 전자 장치(300)) 혹은 전자 장치(300)의 프로세서(350)일 수 있다.
도 5는 도 4의 420동작의 세부 순서도일 수 있다.
510동작에서, 전자 장치(300)는 문언 매치(literal match)를 통해 제1 어플리케이션을 결정할 수 있다.
일 실시 예에서, 문언 매치는, 전자 장치(300)에 설치된 복수의 어플리케이션들 중에서, 쿼리에 대응하는 텍스트가 로그 데이터에 포함된 어플리케이션을 결정하는 동작일 수 있다.
일 실시 예에서, 특정한 어플리케이션의 로그 데이터는, 특정한 어플리케이션이 전자 장치(300)에 설치된 후 현재까지, 사용자 혹은 전자 장치(300)에 의해 사용되었던 누적 기록을 포함할 수 있다. 예를 들어, 특정한 어플리케이션이 메시징 어플리케이션인 경우, 로그 데이터는 사용자가 다른 사용자와 주고 받았던 하나 이상의 메시지들에 대한 데이터를 포함할 수 있다. 다른 예를 들어, 특정한 어플리케이션이 유투브 어플리케이션인 경우, 로그 데이터는 사용자의 접속 정보(예: 사용자가 접속한 URL, 접속 시간 등) 사용자가 재생한 콘텐트 정보(예: 영상 또는 음악의 제목 등)를 포함할 수 있다. 다른 예를 들어, 특정한 어플리케이션이 음악 재생 어플리케이션인 경우, 로그 데이터는 음악 재생 어플리케이션의 음악 리스트에 포함되었거나, 현재 포함된 음악에 대한 정보(예: 노래 제목 또는 가수)를 포함할 수 있다. 또 다른 예를 들어, 특정한 어플리케이션이 이미지 뷰(image view) 어플리케이션인 경우, 로그 데이터는 비전 인식 결과를 통해 얻어진 데이터를 포함할 수 있다.
일 실시 예에서, 전자 장치(300)는 문언 매치를 통하여 (혹은 수행하여) 하나 이상의 제1 어플리케이션들을 결정할 수 있다. 일 실시 예에서, 제1 어플리케이션은, 쿼리에 대응하는 텍스트가 로그 데이터에 포함되어 있다고 결정된 어플리케이션일 수 있다.
예를 들어, "diapers" 와 같은 쿼리를 포함하는 제1 입력을 수신한 경우, 전자 장치(300)는 5개의 제1 어플리케이션들(예: 음악 재생 어플리케이션, 메일 어플리케이션, 메시징 어플리케이션, 이미지 뷰 어플리케이션, 아마존 어플리케이션)을 결정할 수 있다. 예를 들어, 전자 장치(300)는 음악 재생 어플리케이션의 리스트에 포함된 노래 중에서, "diapers"를 포함하는 노래(예: Ray Romano의 "Diapers")를 검색함에 대응하여, 음악 재생 어플리케이션을 제1 어플리케이션으로 결정할 수 있다. 다른 예를 들어, 전자 장치(300)는 아마존 어플리케이션의 이전 구매 내역에서 "diapers"를 포함하는 구매 내역을 검색함에 대응하여, 아마존 어플리케이션을 제1 어플리케이션으로 결정할 수 있다. 또 다른 예를 들어, 전자 장치(300)는 메시징 어플리케이션을 통해 주고 받았던 메시지 중에서, "diapers"를 포함하는 메시지를 검색함에 대응하여, 메시징 어플리케이션을 제1 어플리케이션으로 결정할 수 있다.
520동작에서, 전자 장치(300)는 제1 어플리케이션들 중에서, 상황 매치를 통해 제2 어플리케이션을 결정할 수 있다.
일 실시 예에서, 상황 매치는, 사용자가 이전에 어플리케이션을 사용한 이력 및 현재 상황 정보를 고려할 때, 현 상황에서 쿼리를 입력한 사용자의 의도와 가장 적합하다고 판단되는 어플리케이션을 결정하는 과정 (혹은 동작, 알고리즘)일 수 있다.
일 실시 예에서, 전자 장치(300)는 지정된 어플리케이션들의 후보군에서, 상황 매치를 수행할 수 있다. 예를 들어, 전자 장치(300)는 전자 장치(300)에 포함된 모든 어플리케이션에 대하여 상황 매치를 수행할 수 있다. 다른 예를 들어, 전자 장치(300)는 문언 매치의 결과인 제1 어플리케이션들에 대하여 상황 매치를 수행할 수 있다.
일 실시 예에서, 전자 장치(300)는 어플리케이션들의 후보군에 대해, 미리 결정된 하나 이상의 기준들을 만족하는지 여부를 결정할 수 있다. 일 실시 예에서, 미리 결정된 하나 이상의 기준들은 사용자의 이전 사용 이력과 관련될 수 있다. 예를 들어, 미리 결정된 하나 이상의 기준들은, 매핑 관계의 유무, 횟수(예: 사용 횟수, 검색 횟수 등), 최근 사용 여부 등을 포함할 수 있다. 자세한 내용은 도 6 - 7에서 후술된다.
일 실시 예에서, 전자 장치(300)는 상황 매치를 통하여 (혹은 수행하여) 하나 이상의 제2 어플리케이션들을 결정할 수 있다. 일 실시 예에서, 제2 어플리케이션은, 상황 매치를 수행한 결과, 미리 결정된 조건을 만족하는 것으로 판단된 하나 이상의 어플리케이션을 나타낼 수 있다. 예를 들어, 전자 장치(300)는 어플리케이션들의 후보군 각각에 대하여, 미리 결정된 하나 이상의 기준들을 만족하는지 여부에 따라 상황 점수(contextual score)를 부여할 수 있다. 전자 장치(300)는 아마존 어플리케이션에 부여된 상황 점수가 기준 값을 넘는 경우, 아마존 어플리케이션을 제2 어플리케이션으로 결정할 수 있다.
일 실시 예에서, 520동작은 생략될 수 있다. 예를 들어, 510동작에 의해 결정된 제1 어플리케이션의 개수가 1개인 경우, 520동작은 생략될 수 있다. 다만, 510동작에 의해 결정된 제1 어플리케이션의 개수가 1개인 경우에도, 520동작이 생략되지 않고, 하나의 제1 어플리케이션이 미리 결정된 조건을 만족하는지(예: 하나의 제1 어플리케이션에 부여된 상황 점수가 기준 값을 넘는지) 여부가 결정될 수도 있다.
530동작에서, 전자 장치(300)는 추천 어플리케이션을 결정할 수 있다. 일 실시 예에서, 전자 장치(300)는 제2 어플리케이션에 기반하여 추천 어플리케이션을 결정할 수 있다. 예를 들어, 전자 장치(300)는 제2 어플리케이션을 추천 어플리케이션으로 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 제2 어플리케이션의 개수를 고려하여 추천 어플리케이션을 결정할 수 있다. 예를 들어, 제2 어플리케이션의 개수가 1개인 경우, 제2 어플리케이션을 추천 어플리케이션으로 결정할 수 있다. 다른 예를 들어, 제2 어플리케이션의 개수가 둘 이상인 경우, 제2 어플리케이션 중에서 선택된 하나의 어플리케이션(예: 상황 점수가 가장 높은 어플리케이션)을 추천 어플리케이션으로 결정할 수 있다. 또 다른 예를 들어, 제2 어플리케이션의 개수가 둘 이상인 경우에도, 둘 이상의 제2 어플리케이션들을 모두 추천 어플리케이션으로 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션이 존재하지 않는다고 결정할 수 있다. 예를 들어, 520동작에서 제2 어플리케이션이 존재하지 않는 경우(예: 후보군에 포함되는 모든 어플리케이션들에 부여된 상황 점수가 기준 값을 넘지 못하는 경우), 전자 장치(300)는 추천 어플리케이션이 존재하지 않는다고 결정할 수 있다.
도 6은 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 6의 동작 주체는 전자 장치(예: 도 3의 전자 장치(300)) 혹은 전자 장치(300)의 프로세서(350)일 수 있다.
도 6은 도 5의 520동작의 세부 순서도일 수 있다.
610동작에서, 전자 장치(300)는 제1 어플리케이션의 각각에, 상황 점수를 부여할 수 있다.
일 실시 예에서, 상황 점수는, 특정한 어플리케이션이 미리 결정된 하나 이상의 기준들을 만족하는지 여부에 따라, 특정한 어플리케이션에 부여되는 수치일 수 있다. 일 실시 예에서, 미리 결정된 하나 이상의 기준들은 사용자의 이전 사용 이력과 관련될 수 있다. 예를 들어, 미리 결정된 하나 이상의 기준들은, 매핑 관계의 유무, 횟수(예: 사용 횟수, 검색 횟수 등), 최근 사용 여부 등을 포함할 수 있다. 예를 들어, 특정한 어플리케이션이 410동작에서 수신한 쿼리(예: "diapers")와 매핑 관계가 설정되어 있다면, 특정한 어플리케이션에 70의 상황 점수가 부여될 수 있다. 다른 예를 들어, 특정한 어플리케이션의 사용 빈도가 기준 값을 넘는 경우, 특정한 어플리케이션에 50의 상황 점수가 부여될 수 있다.
일 실시 예에서, 전자 장치(300)는 메모리(340)에 저장된 사용자의 동작 히스토리와 관련된 데이터베이스를 이용하여, 제1 어플리케이션의 각각에 상황 점수를 부여할 수 있다. 사용자의 동작 히스토리와 관련된 데이터베이스는, 지정된 시구간 내에, 사용자의 조작에 의해 전자 장치(300)가 수행한 동작에 관한 데이터를 누적한 것일 수 있다. 예를 들어, 사용자의 동작 히스토리와 관련된 데이터베이스는 전자 장치(300)에 설치된 하나 이상의 어플리케이션의 로그 데이터를 포함할 수 있다. 다른 예를 들어, 사용자의 동작 히스토리와 관련된 데이터베이스는 전자 장치(300)에 설치된 하나 이상의 어플리케이션들의 로그 데이터를 하나로 통합하여 구축된 데이터베이스일 수 있다. 또 다른 예를 들어, 사용자의 동작 히스토리와 관련된 데이터베이스는 본 발명의 다양한 실시 예에 따라 메모리(340)에 축적된, 쿼리와 추천 어플리케이션과의 대응 관계 정보(예를 들어, "diapers"를 입력했을 때, 본 발명의 실시 예에 따라 아마존 어플리케이션이 3회 실행되었다는 정보)를 포함할 수 있다.
일 실시 예에서, 전자 장치(300)는 외부 장치(미도시, 예: 서버)에 저장된, 사용자의 동작 히스토리와 관련된 데이터베이스를 이용하여 제1 어플리케이션의 각각에 상황 점수를 부여할 수 있다. 예를 들어, 전자 장치(300)는 쿼리를 포함하는 제1 입력을 수신할 때마다, 제1 어플리케이션의 각각에 상황 점수를 부여하기 위하여 외부 장치에 접속할 수 있다. 다른 예를 들어, 전자 장치(300)는 쿼리를 포함하는 제1 입력을 수신하기 전, 외부 장치에 주기적으로 접속하여, 사용자의 동작 히스토리와 관련된 데이터베이스의 적어도 일부를 수신할 수 있다.
620동작에서, 전자 장치(300)는 상황 점수가 기준 값 이상인 어플리케이션을 결정할 수 있다. 일 실시 예에서, 전자 장치(300)는 미리 결정된 모든 기준에 대하여, 제1 어플리케이션의 각각에 상황 점수를 부여한 후, 상황 점수가 기준 값 이상인 어플리케이션을 결정할 수 있다. 일 실시 예에서, 기준 값 이상의 상황 점수가 부여된 어플리케이션은 제2 어플리케이션으로 결정될 수 있다.
도 7은 본 발명의 다양한 실시 예들에 따른, 제2 어플리케이션을 결정하기 위해 미리 결정된 하나 이상의 기준들을 도시한다.
일 실시 예에서, 하나 이상의 기준들(710), 내용(720), 상황 점수(730)가 도시된다. 일 실시 예에서 내용(720)에서는 하나 이상의 기준들(710)의 설명이 제공될 수 있다. 상황 점수(730)는 하나 이상의 기준들(710)을 만족하는 어플리케이션에 제공되는 점수를 의미할 수 있다.
일 실시 예에서, 하나 이상의 기준들(710)은 미리 정의 기준(pre-defined, 711), 빈도 기준(frequency, 712), 최근 사용 기준(recent use, 713), 패턴 기준(pattern, 714), 귀납 기준(recursive, 715)을 포함할 수 있다.
일 실시 예에서, 미리 정의 기준(711)은, 쿼리를 포함하는 제1 입력을 수신하기 전, 쿼리와 대응 관계가 설정된 특정한 동작 혹은 기능과 관련된 기준일 수 있다.
예를 들어, 사용자는 미리 "diapers"와 같은 쿼리를 "기저귀 구매"와 같은 동작과 대응시킬 수 있다. 즉, 사용자는 "diapers"와 같은 쿼리가 입력될 경우, "기저귀 구매"와 같은 동작을 수행하도록 미리 설정해 둘 수 있다. 일 실시 예에서, 전자 장치(300)는 사용자에 의해 미리 설정된 동작을 수행할 수 있는 어플리케이션에는 지정된 값의 상황 점수를 부여할 수 있다. 예를 들어, 전자 장치(300)는 "기저귀 구매"와 같은 미리 설정된 동작을 수행할 수 있는 아마존 어플리케이션에 70의 상황 점수를 부여할 수 있다. 전자 장치(300)는 "기저귀 구매"와 같은 미리 설정된 동작을 수행할 수 있는 어플리케이션이 없는 경우, 추천 어플리케이션에 대한 정보를 사용자에게 제공하지 않을 수 있다.
다른 예를 들어, 사용자는 미리 "diapers"와 같은 쿼리가 입력될 경우 "기저귀 구매"와 같은 동작을 수행하기 위하여 실행될 어플리케이션(예: 아마존 어플리케이션)을 명시적으로 지정할 수도 있다. 전자 장치(300)는 명시적으로 지정된 어플리케이션에 80의 상황 점수를 부여할 수 있다.
일 실시 예에서, 빈도 기준(712)은 어플리케이션의 사용 빈도, 혹은 검색 빈도와 관련된 기준일 수 있다.
일 실시 예에서, 전자 장치(300)는 사용 빈도 혹은 검색 빈도가 미리 결정된 값 이상인 어플리케이션에, 지정된 값의 상황 점수를 부여할 수 있다. 예를 들어, 아마존 어플리케이션의 사용 빈도가 30회이고, 이베이 어플리케이션의 사용 빈도가 25회 이며, 미리 결정된 값이 20회인 경우, 전자 장치(300)는 아마존 어플리케이션과 이베이 어플리케이션에 상황 점수 50을 부여할 수 있다.
일 실시 예에서, 전자 장치(300)는 사용 빈도 혹은 검색 빈도에 비례하여 상황 점수를 부여할 수도 있다. 예를 들어, 아마존 어플리케이션의 사용 빈도가 30회이고, 이베이 어플리케이션의 사용 빈도가 25회인 경우, 전자 장치(300)는 아마존 어플리케이션에 상황 점수 60을 부여하고, 이베이 어플리케이션에 상황 점수 50을 부여할 수 있다.
일 실시 예에서, 빈도 기준(712)은, 특정한 어플리케이션이, 쿼리와 관련된 동작을 얼마나 자주 수행하였는지와 관련된 기준일 수 있다. 예를 들어, 쿼리가 "try everything"이고, 음악 재생 어플리케이션에 의해 try everything이라는 음악이 재생된 횟수가 기준 값을 넘는 경우, 음악 재생 어플리케이션에 상황 점수 60을 부여할 수 있다. 예를 들어, 전자 장치(300)는, 쿼리와 관련된 동작의 수행 횟수가 기준 값을 넘는 경우, 단순히 어플리케이션의 사용 횟수가 기준 값을 넘는 경우 부여되는 상황 점수보다 더 높은 점수를 부여할 수 있다.
일 실시 예에서, 최근 사용 기준(713)은 현재로부터 지정된 기간(예: 일주일) 이내에 사용된 이력이 있는지와 관련된 기준일 수 있다.
일 실시 예에서, 전자 장치(300)는 현재로부터 지정된 기간 이내에 사용된 어플리케이션에, 지정된 값의 상황 점수를 부여할 수 있다. 예를 들어, 아마존 어플리케이션이 일주일 이내에 사용된 경우, 전자 장치(300)는 아마존 어플리케이션에 상황 점수 40을 부여할 수 있다.
일 실시 예에서, 패턴(714)은 쿼리를 포함하는 제1 입력을 수신하기 전, 쿼리와 관련되어 수행한 어플리케이션과 관련된 기준일 수 있다. 예를 들어, 쿼리를 포함하는 제1 입력을 수신하기 전, 상기 쿼리(예: "diapers")를 이용하여 특정 어플리케이션(예: 아마존 어플리케이션)을 수행한 이력이 있는 경우, 특정 어플리케이션에 60의 상황 점수를 부여할 수 있다. 다른 예를 들어, 상기 쿼리(예: "diapers")를 이용하여 제1 어플리케이션과 제2 어플리케이션을 연속하여 사용한 경우, 제2 어플리케이션에 60의 상황 점수를 부여할 수 있다.
도 7을 참고할 때, 미리 결정된 하나 이상의 기준들(710)에 5개의 기준들이 예시되어 있지만, 이는 예에 불과하며 권리범위를 제한하는 것은 아니다. 따라서 도 7에 예시되어 있지 않는 여러 가지 기준들도 가능하다. 예를 들어, 사용 시간이 기준 값을 넘는 어플리케이션에는 지정된 값의 상황 점수가 부여될 수 있다.
도 8은 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 8의 동작 주체는 전자 장치(예: 도 3의 전자 장치(300)) 혹은 전자 장치(300)의 프로세서(350)일 수 있다.
도 8는 도 5의 530동작의 세부 순서도일 수 있다.
810 동작에서, 전자 장치(300)는 추천 어플리케이션의 기능을 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션이 수행할 수 있는 복수 개의 기능들 중에서, 하나의 기능을 결정할 수 있다. 예를 들어, 추천 어플리케이션이 음악 재생 어플리케이션인 경우, 음악 재생 어플리케이션이 수행할 수 있는 복수 개의 기능들(예: 음악 재생 기능, 음악 공유 기능 등) 중에서, 하나의 기능(예: 음악 재생 기능)을 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션이 만족하는 하나 이상의 기준(예: 도 7의 패턴 기준(714))에 기반하여, 추천 어플리케이션이 수행할 수 있는 복수 개의 기능들 중에서, 하나의 기능을 결정할 수 있다. 예를 들어, 추천 어플리케이션이 아마존 어플리케이션이고, 사용자가 상기 쿼리(예: "diapers")를 이용하여 아마존 어플리케이션에서 상품 구매 기능을 수행한 이력이 있는 경우, 전자 장치(300)는 아마존 어플리케이션이 수행할 수 있는 복수 개의 기능들(예: 상품 구매 기능, 상품 선물 기능 등) 중에서 하나의 기능(예: 상품 구매 기능)을 결정할 수 있다.
820동작에서, 전자 장치(300)는 기능의 카테고리를 결정할 수 있다. 일 실시 예에서, 전자 장치(300)는 810동작에서 결정된 기능의 카테고리를 결정할 수 있다. 일 실시 예에서, 기능의 카테고리는, 추천 어플리케이션이 수행할 기능을, 기능의 내용(예: 주제, 혹은 수행 동작)에 따라 분류하는 범주일 수 있다. 예를 들어, 카테고리는 주제에 따라서, 상업(commerce), 음악(music), 영상(video), 게임(game), 건강(fitness), 교통(transport), 금융(finance) 중 적어도 하나를 포함할 수 있다. 다른 예를 들어, 카테고리는 수행 동작에 따라서 재생(play), 공유(share), 표시(display), 보내기(send), 설정하기(set) 중 적어도 하나를 포함할 수 있다. 예를 들어, 전자 장치(300)는 아마존 어플리케이션의 "상품 구매 기능"의 카테고리를 상업(commerce)으로 결정할 수 있다. 다른 예를 들어, 전자 장치(300)는 음악 재생 어플리케이션의 "음악 재생 기능"의 카테고리를 음악(music)으로 결정할 수 있다.
미도시되었지만, 전자 장치(300)는 기능의 카테고리가 아니라, 추천 어플리케이션의 카테고리를 결정할 수 있다. 일 실시 예에서, 동일 혹은 유사한 기능을 수행하는 어플리케이션들이 하나의 동일한 카테고리로 묶일 수 있다. 예를 들어, 상품을 구매 기능을 수행하는 어플리케이션들(예: 아마존 어플리케이션, 이베이 어플리케이션 등)은 상업 카테고리로 묶일 수 있다. 다른 예를 들어, 음악 재생 기능(예: 로컬 음원 또는 스트리밍 음원)을 수행하는 어플리케이션들(음악 재생 어플리케이션, Spotify 어플리케이션, 멜론 어플리케이션 등)은 뮤직 카테고리로 묶일 수 있다. 또 다른 예를 들어, 영상 재생 기능(예: 로컬 영상 또는 스트리밍 영상)을 수행하는 어플리케이션들(예: 유투브 어플리케이션, 넷플릭스 어플리케이션 등)은 비디오 카테고리로 묶일 수 있다.
830동작에서, 전자 장치(300)는 결정된 카테고리에 대응하는 하나 이상의 항목들을 결정할 수 있다.
일 실시 예에서, 820동작에서 결정된 기능의 카테고리는, 810동작에서 결정된 기능을 수행하기 위하여 설정될 필요가 있는 하나 이상의 항목들에 대응될 수 있다. 하나 이상의 항목들의 개수 및 내용은 820동작에서 결정된 카테고리에 따라 달라질 수 있다. 예를 들어, 상업 카테고리는, 판매자(seller), 아이템(item), 주소(address), 결제(billing), 가격(cost) 등과 같은 항목들에 대응할 수 있다. 다른 예를 들어, 음악 카테고리는 타이틀(title), 아티스트(artist), 출력 장치(output device)와 같은 항목들에 대응할 수 있다.
일 실시 예에서, 하나 이상의 항목들은 템플릿 형태로 표현될 수 있다.
일 실시 예에서, 전자 장치(300)는 메모리(340)에 미리 저장된 템플릿을 불러올 수 있다(load). 예를 들어, 메모리(340)에 복수 개의 카테고리들에 대응하는 템플릿 정보가 저장되어 있을 수 있다. 전자 장치(300)는 820동작에서 결정된 카테고리(예: 상업 카테고리)에 대응하는 템플릿 정보를 불러올 수 있다.
다른 실시 예에서, 전자 장치(300)는 외부 장치(예: 서버, 미도시)로부터, 결정된 카테고리에 대응하는 하나 이상의 항목들에 대한 정보를 수신할 수 있다. 예를 들어, 전자 장치(300)는 서버로부터, 상업 카테고리에 대응하는 템플릿 정보를 수신할 수 있다.
하기 표 1은 메모리(340)에 저장되어 있거나, 서버로부터 수신한, 상업 카테고리에 대응하는 템플릿에 대한 정보의 예시이다.
Entity Reference to Value
Seller Mail / Message
Item Mail / Message
Address Contact / Message
Billing Samsung pay / Calendar / Message
Cost Samsung pay / Mail / Message
표 1을 참고할 때, 템플릿은, 하나 이상의 항목(entity, 예: 판매자(seller), 구매 대상(item), 주소(address), 결제(billing), 가격(cost)), 하나 이상의 항목에 대한 값(value), 하나 이상의 항목들에 대한 값을 결정하기 위하여 참조 (혹은 검색) 해야 할 어플리케이션에 대한 정보(Reference to)를 포함할 수 있다. 예를 들어, 템플릿은, 구매 대상(item) 항목에 대한 값을 결정하기 위하여 참조할 어플리케이션(예: 메일 어플리케이션, 메시지 어플리케이션)에 대한 정보를 포함할 수 있다.
일 실시 예에서, 하나 이상의 항목(entity) 및 하나 이상의 항목에 대한 값을 결정하기 위하여 참조해야 할 어플리케이션에 대한 정보는 수신한 (혹은 로딩된) 템플릿에 포함되어 있을 수 있으며, 하나 이상의 항목들에 대한 값은 비워져 있을 수 있다.
840동작에서, 전자 장치(300)는 830동작에서 결정된 하나 이상의 항목들에 대한 값들을 설정할 수 있다. 예를 들어, 기능의 카테고리가 상업 카테고리로 결정된 경우, 전자 장치(300)는 하나 이상의 항목들(예: 아이템)에 대한 값(예:"Huggies baby diapers")을 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 전자 장치(300)에 설치된 하나 이상의 어플리케이션들의 로그 데이터로부터, 하나 이상의 항목들에 대한 값들을 결정할 수 있다.
일 실시 예에서, 하나 이상의 항목들에 대한 값을 결정하기 위하여 로그 데이터를 참조하는 어플리케이션은, 추천 어플리케이션을 결정하기 위하여 로그 데이터를 참조하는 어플리케이션과는 같거나 상이할 수 있다.
예를 들어, 전자 장치(300)는 서버로부터 상업 카테고리에 대응하는 템플릿 정보를 수신할 수 있다. 전자 장치(300)는 수신한 템플릿에서 비어 있는 공간을, 전자 장치(300)에 설치된 하나 이상의 어플리케이션들의 로그 데이터에 기반하여 채워 넣을 수 있다. 일 실시 예에서, 전자 장치(300)는 메일 어플리케이션 또는 메시지 어플리케이션의 로그 데이터로부터, 기저귀를 판매하는 판매자, 혹은 기저귀의 판매를 중계하는 오픈 마켓의 이름을 획득할 수 있다. 예를 들어, 사용자가 이전에 기저귀를 아마존 어플리케이션을 통해 구매한 이력이 있으며, 기저귀 구매 확정 메시지가 메시지 어플리케이션의 로그 데이터에 포함되어 있는 경우, 전자 장치(300)는, 기저귀 구매 확정 메시지로부터 기저귀 판매를 중계하는 오픈 마켓의 이름으로 "아마존"을 획득할 수 있다. 또한, 전자 장치(300)는 구매 확정 메시지로부터, 구매 물품의 이름으로 "기저귀"또는 기저귀를 한정하는 여러 가지 조건(예: 상표명, 사이즈, 적용 나이 등)을 획득할 수 있다.
일 실시 예에서, 전자 장치(300)는 연락처(contact), 또는 메시지 어플리케이션의 로그 데이터로부터, 구매 물품이 배송될 주소에 대한 정보를 획득할 수 있다. 예를 들어, 전자 장치(300)는 연락처에 저장되어 있는 사용자의 주소(예: 집 혹은 회사) 정보를 획득할 수 있다. 다른 예를 들어, 전자 장치(300)는 구매 확정 메시지로부터, 이전에 사용자가 기저귀를 주문하였을 때 배송지로 결정하였던 주소에 대한 정보를 획득할 수 있다.
일 실시 예에서, 전자 장치(300)는 모바일 결제 어플리케이션(예: 삼성 페이 어플리케이션), 캘린더, 혹은 메시지 어플리케이션의 로그 데이터로부터, 물품 구매의 결제가 어떻게 수행될 것인지에 대한 정보를 획득할 수 있다. 전자 장치(300)는 결제 방법에 대한 정보를 획득할 수 있다. 예를 들어, 전자 장치(300)는 삼성 페이 어플리케이션에 등록된 사용자의 신용 카드 정보를 획득할 수 있다. 다른 예를 들어, 전자 장치(300)는 구매 확정 메시지로부터, 이전에 사용자가 기저귀를 주문하였을 때 사용하였던 결제 방법에 대한 정보를 획득할 수도 있다.
일 실시 예에서, 전자 장치(300)는 모바일 결제 어플리케이션, 메시지 어플리케이션 혹은 메일 어플리케이션의 로그 데이터로부터, 구매할 물품의 가격에 대한 정보를 획득할 수 있다. 예를 들어, 전자 장치(300)는 모바일 결제 어플리케이션의 이전 결제 내역 중에서, 아마존 어플리케이션을 통하여 기저귀를 구매한 기록을 검색하고, 검색 결과로부터 기저귀의 가격에 대한 정보를 획득할 수 있다.
일 실시 예에서, 전자 장치(300)는 특정한 항목(예: 가격)에 대한 값을 결정하는 데 있어서, 로그 데이터를 검색할 어플리케이션의 우선 순위를 고려할 수 있다. 예를 들어, 전자 장치(300)는 가격 혹은 결제 항목에 대한 값을 결정하는 데 있어서, 모바일 결제 어플리케이션의 로그 데이터를 최우선으로 검색할 수 있다. 다른 예를 들어, 전자 장치(300)는 주소 항목에 대한 값을 결정하는 데 있어서, 콘택트의 로그 데이터를 최우선으로 검색할 수 있다. 일 실시 예에서, 전자 장치(300)가 서버로부터, 결정된 카테고리에 대응하는 템플릿 정보를 수신한 경우, 어플리케이션의 우선 순위 정보는 서버로부터 수신한 템플릿 정보에 포함될 수 있다.
일 실시 예에서, 전자 장치(300)는 전자 장치(300)에 포함된 하나 이상의 센서들(예: 도 1의 센서 모듈(176))로부터 획득한 센싱 정보에 기반하여, 하나 이상의 항목들에 대한 값을 결정할 수 있다. 예를 들어, 추천 어플리케이션을 통하여 수행될 기능이 음악 재생 기능이고, 전자 장치(300)와 블루투스로 연결된 이력이 있는 출력 장치가 2개(예: 회사에 위치한 출력 장치 및 집에 위치한 출력 장치)일 때, 전자 장치(300)는 GPS 센서로부터 획득한 전자 장치(300)의 위치 정보에 기반하여, 출력 장치 항목에 대한 값을 결정할 수 있다.
도 9는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 9의 동작 주체는 전자 장치(예: 도 3의 전자 장치(300)) 혹은 전자 장치(300)의 프로세서(350)일 수 있다.
도 9는 도 4의 430동작의 세부 순서도일 수 있다.
910 동작에서, 전자 장치(300)는 추천 어플리케이션의 실행 아이콘을 표시할 수 있다.
일 실시 예에서, 추천 어플리케이션의 실행 아이콘은, 추천 어플리케이션의 실행에 대한 사용자의 긍정 응답을 수신하기 위한 시각적 오브젝트일 수 있다. 일 실시 예에서, 실행 아이콘은 텍스트 혹은 그래픽 오브젝트를 포함할 수 있다. 예를 들어, 전자 장치(300)는 추천 어플리케이션의 실행 아이콘에 대한 사용자의 터치 입력을 감지한 경우, 특정한 기능(예: 기저귀 구매)을 수행하기 위하여 추천 어플리케이션(예: 아마존 어플리케이션)을 실행할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션의 실행 아이콘과 함께, 추가적인 하나 이상의 오브젝트들을 표시할 수 있다. 추가적인 하나 이상의 오브젝트들은 텍스트 혹은 그래픽 오브젝트를 포함할 수 있다. 예를 들어, 전자 장치는 추천 어플리케이션 이름, 추천 어플리케이션의 실행을 통해 수행될 기능, 기능 수행을 위한 하나 이상의 항목들 및 하나 이상의 항목들에 대한 값을 나타내는 텍스트 오브젝트를 포함할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션의 실행 아이콘 및 추가적인 하나 이상의 오브젝트들을 하나의 영역에 배치할 수 있다. 예를 들어, 전자 장치(300)는 카드를 연상하게 하는 직사각형 형태의 영역에, 추천 어플리케이션의 실행 아이콘 및 추가적인 하나 이상의 오브젝트들을 배치할 수 있다.
920동작에서, 전자 장치(300)는 추천 어플리케이션에 해당하지 않는 제1 어플리케이션에 대한 정보를 표시할 수 있다.
예를 들어, "diapers" 와 같은 쿼리를 포함하는 제1 입력을 수신한 전자 장치(300)가 5개의 제1 어플리케이션들(예: 음악 재생 어플리케이션, 메일 어플리케이션, 메시징 어플리케이션, 이미지 뷰 어플리케이션, 아마존 어플리케이션)을 결정하였고, 이 중에서 아마존 어플리케이션이 추천 어플리케이션으로 결정된 경우, 전자 장치(300)는 음악 재생 어플리케이션, 메일 어플리케이션, 메시징 어플리케이션, 이미지 뷰 어플리케이션에 대한 정보 중 적어도 하나를 표시할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션의 실행 아이콘의 표시를 유지하면서, 제1 어플리케이션에 대한 정보를 추가적으로 표시할 수 있다.
일 실시 예에서, 제1 어플리케이션에 대한 정보는, 쿼리(예: "diapers")와 매치되는 제1 어플리케이션의 로그 데이터에 대한 정보를 포함할 수 있다. 예를 들어, 사용자가 이전에 기저귀를 아마존 어플리케이션을 통해 구매한 이력이 있으며, 기저귀 구매 확정 메일이 메일 어플리케이션의 로그 데이터에 포함된 경우, 전자 장치(300)는 기저귀 구매 확정 메일 중에서 "diapers"가 포함된 부분을 텍스트 혹은 이미지 형태로 표시할 수 있다.
다양한 실시 예에서, 제1 어플리케이션에 대한 정보는 제1 어플리케이션을 실행하기 위한 실행 아이콘을 포함하지 않을 수 있다. 예를 들어, 전자 장치(300)는 메일 어플리케이션의 로그 데이터의 일부를 표시할 뿐, 메일 어플리케이션의 실행을 위한 실행 아이콘은 포함하지 않을 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치(300)는 최소한의 사용자 조작을 통해 사용자가 의도한 어플리케이션을 실행하므로, 사용자가 의도한 어플리케이션으로 판단되지 않는 어플리케이션에 대해서는 어플리케이션의 실행을 위한 실행 아이콘을 제공하지 않을 수 있다.
도 10은 본 발명의 다양한 실시 예들에 따른 사용자 인터페이스를 나타낸 도면이다.
도 10의 왼쪽 도면은 추천 어플리케이션의 실행을 위한 실행 아이콘 및 제1 어플리케이션 중에서 추천 어플리케이션에 해당하지 않는 어플리케이션에 대한 정보가 표시된 도면이다.
일 실시 예에서, 전자 장치(300)는 사용자의 입력을 수신 받기 위한 검색 창(1030)을 제공할 수 있다. 일 실시 예에서, 전자 장치(300)는 검색 창(1030)을 통하여 사용자로부터 텍스트 혹은 이미지를 입력 받을 수 있다. 예를 들어, 전자 장치(300)는 검색 창(1030)을 통하여 사용자로부터 "diapers"와 같은 텍스트 입력을 수신할 수 있다. 여기서 "diapers"는 "쿼리", 텍스트 입력은 "제1 입력"으로 지칭될 수 있다.
일 실시 예에서, 전자 장치(300)는 쿼리에 매칭되는 추천 어플리케이션을 결정할 수 있다. 예를 들어, 전자 장치(300)는 쿼리에 대응하는 텍스트가 로그 데이터에 포함된 3개의 제1 어플리케이션들(예: 아마존 어플리케이션, 메일 어플리케이션, 삼성 페이 어플리케이션)을 결정할 수 있다. 전자 장치(300)는 3개의 제1 어플리케이션들 중에서 추천 어플리케이션으로 아마존 어플리케이션을 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 검색 결과(1010) 및 비-추천 검색 결과(1020)를 표시할 수 있다. 추천 검색 결과(1010)는 추천 어플리케이션의 실행 아이콘(1044) 및 추가적인 하나 이상의 오브젝트들(예: 판매자, 가격, 아이템을 나타내는 텍스트 오브젝트들)이 배치된 하나의 영역(1040)에 대응할 수 있다. 비-추천 검색 결과(1020)는 추천 어플리케이션에 해당하지 않는 제1 어플리케이션에 대한 정보가 배치된 복수의 영역들(1050, 1060)에 대응할 수 있다. 예를 들어, 추천 어플리케이션에 해당하는 아마존 어플리케이션에 대한 정보는 영역(1040)에 표시될 수 있다. 다른 예를 들어, 추천 어플리케이션에 해당하지 않는 메일 어플리케이션에 대한 정보는 영역(1050)에 표시되며, 추천 어플리케이션에 해당하지 않는 삼성 페이 어플리케이션에 대한 정보는 영역(1060)에 표시될 수 있다.
일 실시 예에서, 전자 장치(300)는 영역(1040)의 크기 제한에 따라, 현재 영역(1040)에 표시되지 않는 정보들을 표시하기 위한 더 보기 오브젝트(1042)를 더 표시할 수 있다. 예를 들어, 전자 장치(300)는 더 보기 오브젝트(1042)에 대한 사용자의 터치 입력을 감지한 경우, 추천 어플리케이션을 통해 수행될 기능에 대한 모든 설정 값들(예: 판매자, 가격, 아이템, 주소, 결제 항목에 대한 값들)이 표시되도록, 확장된 영역(1045)을 표시할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션을 통하여 수행될 기능에 대한 설정 값을 수정하기 위한 수정 오브젝트(1046)를 더 표시할 수 있다. 미도시되었지만, 수정 오브젝트(1046)는 확장되기 전 영역(예: 영역(1040))에 표시될 수도 있다. 예를 들어, 수정 오브젝트(1046)에 대한 사용자 터치 입력이 감지되는 경우, 전자 장치(300)는 수정할 항목을 선택하기 위한 사용자 인터페이스를 팝업 창 형태로 표시하고, 선택된 항목에 대한 새로운 값을 입력 받기 위한 사용자 인터페이스를 표시할 수 있다.
도 11은 본 발명의 다양한 실시 예들에 따른 사용자 인터페이스를 나타낸 도면이다.
도 11a및 11b는, 추천 어플리케이션이 복수 개인 경우, 전자 장치(300)가 표시하는 사용자 인터페이스를 나타낸 도면이다.
도 11a는 사용자가 제1 입력으로 "diapers"를 입력한 경우, 도 11b는 사용자가 제1 입력으로 "try everything"을 입력한 경우, 전자 장치(300)가 표시하는 사용자 인터페이스를 나타낸다.
도 11a를 참고할 때, 사용자가 제1 입력으로 "diapers"를 입력한 경우, 전자 장치(300)는 추천 어플리케이션으로 아마존 어플리케이션 및 음악 재생 어플리케이션을 결정할 수 있다. 예를 들어, 전자 장치(300)는 5개의 제1 어플리케이션들 중에서, 상황 점수가 기준 값을 넘는 아마존 어플리케이션 및 음악 재생 어플리케이션을 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 검색 결과(1110) 및 비-추천 검색 결과(1120)를 표시할 수 있다. 일 실시 예에서, 추천 검색 결과(1110)은 추천 어플리케이션의 개수에 따라, 복수의 영역들(1140, 1150)에 대응될 수 있다. 예를 들어, 전자 장치(300)는 영역(1140)에 아마존 어플리케이션의 실행 아이콘(1145) 및 아마존 어플리케이션을 통해 수행될 기능(예: 물품 구매 기능)에 대한 설정 값들을 표시하고, 영역(1150)에 음악 재생 어플리케이션의 실행 아이콘(1155) 및 음악 재생 어플리케이션을 통해 수행될 기능(예: 음악 재생 기능)에 대한 설정 값들을 표시할 수 있다.
도 11b를 참고할 때, 사용자가 제1 입력으로 "try everything"을 입력한 경우, 전자 장치(300)는 추천 어플리케이션으로 음악 재생 어플리케이션, 제1 소셜 네트워크 서비스 어플리케이션(예: 인스타그램 어플리케이션), 제2 소셜 네트워크 서비스 어플리케이션(예: 페이스북 어플리케이션)을 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 검색 결과(1160)를 표시할 수 있다. 일 실시 예에서, 추천 어플리케이션의 개수가 지정된 값(예: 3개) 이상인 경우, 전자 장치(300)는 비-추천 검색 결과를 표시하지 않을 수 있다.
일 실시 예에서, 추천 검색 결과(1160)는 추천 어플리케이션의 개수에 따른 복수의 영역들에 대응할 수 있다. 예를 들어, 전자 장치(300)는 영역(1170)에 음악 재생 어플리케이션의 실행 아이콘(1175) 및 음악 재생 어플리케이션을 통해 수행될 기능(예: 음악 재생)에 대한 설정 값(예: 타이틀 및 아티스트, 출력 장치)를 표시할 수 있다. 예를 들어, 전자 장치(300)는 영역(1180)에 인스타그램 어플리케이션의 실행 아이콘(1185) 및 인스타그램 어플리케이션을 통해 수행될 기능(예: 음악 공유)에 대한 설정 값(예: 타이틀, 아티스트 및 공유할 대상)을 표시할 수 있다. 다른 예를 들어, 전자 장치(300)는 영역(1190)에 페이스북 어플리케이션의 실행 아이콘(1195) 및 페이스북 어플리케이션을 통해 수행될 기능(예: 음악 공유)에 대한 설정 값을 표시할 수도 있다.
도 12는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 12의 동작 주체는 전자 장치(예: 도 3의 전자 장치(300)) 혹은 전자 장치(300)의 프로세서(350)일 수 있다.
도 12는 도 4의 430동작의 세부 순서도일 수 있다.
1210동작에서, 전자 장치(300)는 추천 어플리케이션의 실행을 위한 음성 메시지를 출력할 수 있다. 예를 들어, 전자 장치(300)가 "diapers"와 같은 쿼리를 포함하는 사용자의 음성 메시지를 마이크를 통해 수신한 경우, 쿼리에 매칭되는 추천 어플리케이션으로 아마존 어플리케이션을 결정하고, 아마존 어플리케이션의 실행을 위한 음성 메시지를 출력할 수 있다. 출력된 음성 메시지에 대응하여 사용자의 긍정 응답 음성 메시지(예: yes)를 수신한 경우, 전자 장치(300)는 아마존 어플리케이션을 실행할 수 있다.
일 실시 예에서, 전자 장치(300)는 하나의 추천 어플리케이션의 실행을 위한 음성 메시지를 출력할 수 있다. 예를 들어, 제1 어플리케이션이 5개이고, 이 중에서 상황 점수가 기준 값 이상인 제2 어플리케이션이 2개인 경우에도, 전자 장치(300)는 2개의 제2 어플리케이션들 중에서 결정된 하나의 추천 어플리케이션의 실행을 위한 음성 메시지를 출력할 수 있다. 예를 들어, 2개의 제2 어플리케이션들 중에서 상황 점수가 더 높은 어플리케이션의 실행을 위한 음성 메시지를 출력할 수 있다.
도 13은 본 발명의 다양한 실시 예들에 따른 사용자의 음성 입력에 대응하여, 추천 어플리케이션의 실행을 위한 음성 메시지를 출력하는 전자 장치를 도시한다.
일 실시 예에서, 전자 장치(300)는 사용자로부터, 마이크를 통하여 음성 입력을 입력 받을 수 있다. 예를 들어, 전자 장치(300)는 "diapers"와 같은 쿼리를 포함하는 사용자의 음성 입력을 수신할 수 있다. 일 실시 예에서, 전자 장치(300)는 사용자로부터 음성 입력을 입력 받은 경우, 음성 입력에 대응하는 텍스트를 검색 창(1330)에 표시할 수 있다.
일 실시 예에서, 전자 장치(300)는 쿼리에 매칭되는 하나의 추천 어플리케이션을 결정할 수 있다. 예를 들어, 전자 장치(300)는 아마존 어플리케이션을 추천 어플리케이션으로 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 아마존 어플리케이션을 통해 수행될 기능에 대한 설정 값들을 결정할 수 있다. 일 실시 예에서, 설정 값은 하나 이상 항목들에 대한 값을 포함할 수 있다. 예를 들어, 전자 장치(300)는 아마존 어플리케이션을 통해 수행될 물품 구매 기능을 위한 구매 대상, 가격, 판매자 등에 대한 설정 값들을 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 출력될 음성 메시지를 생성할 수 있다. 일 실시 예에서, 출력될 음성 메시지는 실행될 추천 어플리케이션, 수행될 기능, 수행될 기능에 대한 설정 값에 대한 정보를 포함할 수 있다. 예를 들어, 출력될 음성 메시지는 "xx 기저귀를 20달러에 oo 어플리케이션을 이용하여 주문하시겠습니까 ("Would you like to order xx diapers for $20 with the oo application?")일 수 있다.
일 실시 예에서, 출력될 음성 메시지에 포함되는 설정 값에 대한 정보는, 전자 장치(300)가 결정한 모든 설정 값에 대한 정보의 일부 일 수 있다. 예를 들어, 전자 장치(300)가 5가지의 설정 값(예: 판매자, 주소, 가격, 구매 대상, 결제 항목에 대한 값들)을 결정한 경우, 출력될 음성 메시지에는 2가지 설정 값(예: 가격, 구매 대상 항목에 대한 값들)에 대한 정보만이 포함될 수 있다.
일 실시 예에서, 전자 장치(300)는 스피커를 통해 음성 메시지를 출력함과 동시에, 추천 어플리케이션에 대한 정보를 화면에 표시할 수도 있다. 예를 들어, 전자 장치(300)는 영역(1340)에 추천 어플리케이션의 실행 아이콘(1345) 및 추천 어플리케이션을 통해 수행될 기능에 대한 설정 값들에 대한 정보를 표시할 수 있다. 일 실시 예에서, 출력된 음성 메시지에 대응하여 사용자의 긍정 응답 음성 메시지(예: "yes")가 수신되는 경우, 전자 장치(300)는 추천 어플리케이션의 실행 아이콘(1345)이 마치 사용자에 의해 터치된 것과 같은 효과(예: 아이콘의 색채 변경 등)를 부여할 수 있다. 일 실시 예에서, 전자 장치(300)가 음성 메시지를 출력한 후, 추천 어플리케이션의 실행 아이콘(1345)에 대한 터치 입력이 감지된 경우에도, 사용자의 긍정 응답 음성 메시지가 수신되는 것과 동일하게, 추천 어플리케이션을 실행할 수 있다.
도 14는 본 발명의 다양한 실시 예들에 따른 전자 장치의 흐름도이다.
도 14의 동작 주체는 전자 장치(예: 도 3의 전자 장치(300)) 혹은 전자 장치(300)의 프로세서(350)일 수 있다.
도 14는 도 4의 440동작의 세부 순서도일 수 있다.
1410 동작에서, 전자 장치(300)는 사용자로부터 수신한 제2 입력이 추천 어플리케이션의 실행을 승인하는 입력인지 여부를 확인할 수 있다. 예를 들어, 전자 장치(300)가 추천 어플리케이션의 실행 아이콘을 표시한 경우, 표시된 실행 아이콘(예: 도 10의 실행 아이콘(1044))에 사용자의 터치 입력이 감지되는지 여부를 확인할 수 있다. 다른 예를 들어, 전자 장치(300)가 추천 어플리케이션의 실행을 위한 음성 메시지를 출력한 경우, 출력으로부터 지정된 시간 이내에 사용자의 긍정 응답 음성 메시지(예: "yes")가 수신되는지 여부를 확인할 수 있다.
사용자로부터 수신한 제2 입력이 추천 어플리케이션의 실행을 승인하는 입력인 경우, 전자 장치(300)는 450 동작으로 진행하여 추천 어플리케이션을 실행할 수 있다.
사용자로부터 수신한 제2 입력이 추천 어플리케이션의 실행을 승인하는 입력이 아닌 경우, 1420동작에서, 전자 장치(300)는 제2 입력이 추천 어플리케이션을 통하여 수행될 기능에 대한 설정 값을 수정하기 위한 입력인지 여부를 확인할 수 있다. 예를 들어, 전자 장치(300)는 수정 오브젝트(예: 도 10의 수정 오브젝트(1046)에 사용자의 터치 입력이 감지되는지 여부를 확인할 수 있다.
사용자로부터 수신한 제2 입력이 설정 값을 수정하기 위한 입력이 아닌 경우, 전자 장치(300)는 1440동작에서, 해당 기능을 수행할 수 있다. 예를 들어, 제2 입력이 더 보기 오브젝트(예: 도 10의 더 보기 오브젝트(1042))에 사용자의 터치 입력인 경우, 추천 어플리케이션을 통해 수행될 기능에 대한 모든 설정 값들이 표시되도록 확장된 영역을 표시할 수 있다.
사용자로부터 수신한 제2 입력이 설정 값을 수정하기 위한 입력인 경우, 전자 장치(300)는 사용자의 추가 입력에 따라 수정된 설정 값을 표시할 수 있다. 예를 들어, 전자 장치(300)는 사용자의 추가 입력에 따라 수정할 항목(예: 주소)을 결정할 수 있다. 전자 장치(300)는 사용자의 추가 입력에 따라 수정할 항목(예: 주소)에 대한 값을 새롭게 결정할 수 있다.
일 실시 예에서, 전자 장치(300)는 1430동작 또는 1440동작을 수행한 후, 1410동작으로 진행할 수 있다. 일 실시 예에서, 전자 장치(300)는 추천 어플리케이션의 실행을 승인하는 입력을 수신할 때까지, 하나 이상의 동작들(예: 1410 내지 1440동작)을 반복할 수 있다.
도 15은 본 발명의 다양한 실시 예들에 따른 사용자 인터페이스를 나타낸 도면이다.
일 실시 예에서, 전자 장치(300)는 검색 창을 통하여 사용자로부터 "diapers"와 같은 쿼리를 포함하는 텍스트 입력을 수신할 수 있고, 쿼리에 매칭되는 추천 어플리케이션을 결정할 수 있다. 전자 장치(300)는 추천 어플리케이션의 실행 아이콘(1514) 및 추천 어플리케이션을 통해 수행될 기능에 대한 설정 값을 나타내는 하나 이상의 오브젝트들(예: 판매자, 가격, 아이템을 나타내는 텍스트 오브젝트들)이 배치된 영역(1510)을 표시할 수 있다. 전자 장치(300)는 현재 영역(1510)에 표시되지 않는 정보들을 표시하기 위한 더 보기 오브젝트(1512)를, 영역(1510)에 표시할 수 있다.
일 실시 예에서, 더 보기 오브젝트(1512)에 대한 사용자의 터치 입력을 감지한 경우, 전자 장치(300)는 추천 어플리케이션을 통해 수행될 기능에 대한 모든 설정 값들이 표시되도록 확장된 영역(1520)을 표시할 수 있다.
일 실시 예에서, 전자 장치(300)는 추천 어플리케이션을 통해 수행될 기능에 대한 설정 값을 수정하기 위한 수정 오브젝트(1525)를 더 표시할 수 있다.
미도시되었지만, 수정 오브젝트는 복수 개일 수 있다. 예를 들어, 추천 어플리케이션을 통해 수행될 기능에 대한 각각의 항목에 대하여 수정 오브젝트가 인접하게 배치될 수 있다. 예를 들어, 주소 항목에 인접하게 배치된 수정 오브젝트에 대한 사용자 터치 입력을 감지하는 경우, 전자 장치(300)는 주소 항목에 대한 새로운 값을 입력 받기 위한 사용자 인터페이스를 표시할 수 있다.
일 실시 예에서, 수정 오브젝트(1525)에 대한 사용자 터치 입력이 감지되는 경우, 전자 장치(300)는 복수의 항목들(예: 판매자, 가격, 아이템, 주소, 결제 항목) 중에서 수정할 항목(예: 주소)을 선택하기 위한 사용자 인터페이스(미도시)를 표시할 수 있다. 수정할 항목(예: 주소)을 선택하는 사용자 입력을 수신한 경우, 전자 장치(300)는 선택된 항목(예: 주소)에 대한 새로운 값을 입력 받기 위한 사용자 인터페이스(1535)를 표시할 수 있다. 일 실시 예에서, 전자 장치(300)는 사용자 인터페이스(1535)에 입력되는 새로운 값에 기반하여 연락처에 저장된 사용자 주소를 업데이트하거나, 사용자 인터페이스(1535)에 입력되는 새로운 값에 기반하여 연락처에 저장된 사용자 주소를 업데이트할지 여부를 사용자에게 문의할 수 있다.
도 16은 본 발명의 다양한 실시 예들에 따른, 추천 어플리케이션을 결정한 전자 장치가 추천 어플리케이션을 통해 수행될 기능에 대한 설정 값을 결정하는 과정을 설명하기 위한 도면이다.
설명의 편의를 위하여 전자 장치는 전자 장치(1610 내지 1650)으로 표현될 수 있으며, 전자 장치(1610 내지 1650)는 전자 장치(300)일 수 있다.
일 실시 예에서, 전자 장치(1610)는 검색 창을 통하여 사용자로부터 "diapers"와 같은 쿼리를 포함하는 텍스트 입력을 수신할 수 있고, 쿼리에 매칭되는 추천 어플리케이션으로 아마존 어플리케이션을 결정할 수 있으며, 추천 어플리케이션을 통해 수행될 기능으로 물품 구매 기능을 결정할 수 있다.
일 실시 예에서, 전자 장치(1610)은 추천 어플리케이션을 통해 수행될 기능에 대한 하나 이상의 항목들을 결정할 수 있다. 예를 들어, 전자 장치(1610)는 외부 장치(예: 서버)로부터, 추천 어플리케이션을 통해 수행될 기능에 대한 하나 이상의 항목들의 정보를 수신할 수 있다. 일 실시 예에서, 하나 이상의 항목은 추천 어플리케이션을 통해 수행될 기능에 따라 결정되거나, 추천 어플리케이션을 통해 수행될 기능의 카테고리에 따라 결정될 수 있다. 예를 들어, 전자 장치(1610)는 추천 어플리케이션을 통해 수행될 기능의 카테고리가 상업 카테고리로 판단하고, 상업 카테고리에 대응하는 하나 이상의 항목들(예: 판매자, 아이템, 주소, 결제, 가격)의 정보를 외부 장치로부터 수신할 수 있다. 일 실시 예에서, 외부 장치로부터 수신하는 하나 이상의 항목들의 정보는 템플릿 형태로 표현될 수 있다.
전자 장치(1620 내지 1640)는 전자 장치에 설치된 하나 이상의 어플리케이션들의 로그 데이터로부터, 하나 이상의 항목들에 대한 값을 결정할 수 있다.
예를 들어, 전자 장치(1620)는 콘택트(contact)의 로그 데이터로부터, 사용자의 주소 정보를 획득할 수 있다. 전자 장치(1620)는 콘택트에 저장된 복수의 항목들 중에서, 사용자 자신의 항목을 검색함으로써, 사용자의 주소 정보를 획득할 수 있다.
다른 예를 들어, 전자 장치(1630)는 모바일 결제 어플리케이션의 로그 데이터로부터, 결제 항목에 대한 값을 결정할 수 있다. 전자 장치(1630)는 모바일 결제 어플리케이션의 결제 이력 데이터를 검색함으로써, 이전에 사용자가 아마존 어플리케이션의 물품 대금의 지불을 위하여 모바일 결제 어플리케이션을 사용한 이력을 확인할 수 있다. 예를 들어, 전자 장치(1630)는 이전(예: 2017년 10월 10일 오후 5시)에, 아마존 어플리케이션에서 12.99달러로 기저귀를 구매하고, 사용자의 마스터 카드로 대금을 지불한 이력을 확인하고, 결제 항목에 대한 값으로서 사용자의 마스터 카드에 대한 정보(예: 신용 카드 번호, 비밀 번호 등)를 결정할 수 있다.
다른 예를 들어, 전자 장치(1640)는 메일 어플리케이션의 로그 데이터로부터, 판매자, 아이템, 가격 항목에 대한 값들을 결정할 수 있다. 예를 들어, 사용자가 이전에 기저귀를 아마존 어플리케이션을 통해 구매한 이력이 있으며, 기저귀 구매 확정 메일이 메일 어플리케이션의 로그 데이터에 포함되어 있는 경우, 전자 장치(1640)는 기저귀 구매 확정 메일로부터, 이전에 구매하였던 아이템 및 판매자, 가격에 대한 정보를 획득할 수 있다. 전자 장치(1640)는 획득한 정보에 기반하여, 판매자, 아이템, 가격 항목에 대한 값들을 결정할 수 있다.
일 실시 예에서, 전자 장치(1650)는 추천 어플리케이션의 실행 아이콘(1675)을 표시할 수 있다. 일 실시 예에서, 추천 어플리케이션을 통하여 수행될 기능에 대한 모든 항목의 값들이 결정 (혹은 설정) 되면, 전자 장치(1650)는, 추천 어플리케이션의 실행 아이콘(1675)을 표시할 수 있다. 일 실시 예에서, 전자 장치(1650)는 추천 어플리케이션을 통하여 수행될 기능에 대한 일부 항목의 값들을 나타내는 하나 이상의 오브젝트들(1660)을, 실행 아이콘(1675)과 함께 표시할 수 있다. 일 실시 예에서, 전자 장치(1650)는 하나의 독립적인 영역(1670)에 실행 아이콘(1675) 및 일부 항목의 값들을 나타내는 하나 이상의 오브젝트들(1660)을 표시할 수 있다.
도 17은 본 발명의 다양한 실시 예들에 따른, 추천 어플리케이션을 결정한 전자 장치가 추천 어플리케이션을 통해 수행될 기능에 대한 설정 값을 결정하는 과정을 설명하기 위한 도면이다.
설명의 편의를 위하여 전자 장치는 전자 장치(1710 내지 1750)으로 표현될 수 있으며, 전자 장치(1710 내지 1750)는 전자 장치(300)일 수 있다.
일 실시 예에서, 전자 장치(1710)는 검색 창을 통하여 사용자로부터 "try everything"과 같은 쿼리를 포함하는 텍스트 입력을 수신할 수 있다.
일 실시 예에서, 전자 장치(1720)는 쿼리에 매칭되는 추천 어플리케이션으로 음악 재생 어플리케이션을 결정할 수 있다. 전자 장치(1720)는 상기 쿼리와 문언적으로 매칭되는 복수 개의 제1 어플리케이션들의 각각에 대하여, 미리 결정된 기준을 만족하는지 여부에 따라 상황 점수를 부여할 수 있다. 예를 들어, 전자 장치(1720)는 음악 재생 어플리케이션에 의해 try everything이라는 음악이 재생된 횟수가 기준 값을 넘는 경우, 음악 재생 어플리케이션에 상황 점수 60을 부여할 수 있다. 전자 장치(1720)는 복수 개의 제1 어플리케이션들 중에서, 상황 점수가 가장 높은 음악 재생 어플리케이션을 추천 어플리케이션으로 결정할 수 있다. 전자 장치(1720)는 추천 어플리케이션을 통해 수행될 기능으로 음악 재생 기능을 결정할 수 있다.
일 실시 예에서, 전자 장치(1720)는 추천 어플리케이션을 통하여 수행될 기능에 대한 하나 이상의 항목들을 결정할 수 있다. 예를 들어, 전자 장치(1610)는 추천 어플리케이션을 통해 수행될 기능의 카테고리를 음악 카테고리로 판단하고, 음악 카테고리에 대응하는 하나 이상의 항목들(예: 타이틀, 아티스트, 출력 장치)을 결정할 수 있다.
일 실시 예에서, 전자 장치(1730)는, 전자 장치(1730)에 포함된 하나 이상의 센서들로부터 획득한 센싱 정보에 기반하여, 하나 이상의 항목들에 대한 값을 결정할 수 있다. 예를 들어, 전자 장치(1730)는 GPS센서로부터 획득한 전자 장치(1730)의 위치 정보에 기반하여, 출력 장치 항목에 대한 값을 결정할 수 있다. 전자 장치(1730)의 현재 위치가 사용자의 집인 경우, 전자 장치(1730)는 출력 장치를, 사용자의 집에 지정된 (혹은 사용자의 집에 위치한) 하나 이상의 장치로 설정할 수 있다. 예를 들어, 전자 장치(1740)는 메모리(340)에 저장된 블루투스 연결 이력 정보를 검색함으로써, 현재 사용 가능한 블루투스 출력 장치를 결정할 수 있다. 전자 장치(1740)는 출력 장치 항목에 대한 값으로, 사용자의 집에 지정된 2개의 장치들(예: 식당 스피커(dining room speaker), 거실 스피커(living room speaker))을 결정할 수 있다.
일 실시 예에서, 전자 장치(1750)는 추천 어플리케이션의 실행 아이콘(1705)을 표시할 수 있다. 일 실시 예에서, 전자 장치(1750)는 추천 어플리케이션을 통하여 수행될 기능에 대한 일부 항목의 값들을 나타내는 하나 이상의 오브젝트들(1760)을, 실행 아이콘(1775)과 함께 표시할 수 있다. 예를 들어, 전자 장치(1750)는 실행 아이콘(1775) 및 출력 장치를 나타내는 텍스트 오브젝트를 하나의 독립된 영역(1770)에 표시할 수 있다.
일 실시 예에서, 전자 장치(1750)는 추천 어플리케이션의 실행 아이콘(1705)에 대한 터치 입력을 감지하는 경우, 하나 이상의 항목들에 대한 값을 이용하여, 추천 어플리케이션을 실행할 수 있다. 예를 들어, 전자 장치(1750)는 try everything 이라는 음악을, 식당 스피커 및 거실 스피커를 이용하여 출력할 수 있다.
본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
300: 전자 장치 330: 통신 모듈
340: 메모리 350: 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    사용자의 입력을 수신하도록 설정된 입력 모듈;
    상기 입력 모듈과 작동적으로 연결된 프로세서;
    상기 프로세서와 작동적으로 연결된 메모리를 포함하며, 상기 메모리는, 실행 시 상기 프로세서가
    상기 입력 모듈을 통하여, 쿼리를 포함하는 제1 입력을 수신하고,
    상기 전자 장치에 설치된 복수의 어플리케이션들 중에서, 상기 쿼리에 매칭되는 추천 어플리케이션을 결정하고,
    상기 추천 어플리케이션의 실행을 위한 확인 메시지를 출력하고,
    상기 확인 메시지에 대응한 제2 입력을 수신하고,
    상기 제2 입력의 수신에 대응하여, 상기 추천 어플리케이션을 실행하도록 하는 명령어들(instructions)을 저장하는 전자 장치.
  2. 제 1항에 있어서,
    상기 제1 입력 또는 상기 제2 입력 중 어느 하나는, 터치 입력 또는 음성 입력 중 적어도 하나인 전자 장치.
  3. 제 2항에 있어서,
    상기 명령어들은 상기 프로세서가,
    문언 매치를 수행하여 상기 전자 장치에 설치된 어플리케이션 중에서 제1 어플리케이션을 결정하고,
    상황 매치를 수행하여 상기 제1 어플리케이션 중에서 제2 어플리케이션을 결정하고,
    상기 제2 어플리케이션에 기반하여 추천 어플리케이션을 결정하도록 하는 전자 장치.
  4. 제 3항에 있어서,
    상기 명령어들은 상기 프로세서가,
    상기 제1 어플리케이션의 각각에 상황 점수를 부여하고, 상기 상황 점수가 기준 값 이상인 어플리케이션을 제2 어플리케이션으로 결정하도록 하는 전자 장치.
  5. 제 4항에 있어서,
    상기 명령어들은 상기 프로세서가,
    상기 제1 어플리케이션의 각각이 미리 결정된 기준을 만족하는지 여부에 따라, 상기 미리 결정된 기준에 대응하는 상황 점수를 부여하며,
    상기 미리 결정된 기준은, 상기 쿼리에 미리 대응 관계가 설정되어 있는지, 검색 혹은 사용 빈도가 기준 값을 넘는지, 지정된 기간 이내에 사용되었는지, 사용자가 상기 쿼리를 이용하여 실행까지 진행한 이력이 있는지 중 적어도 하나인 전자 장치.
  6. 제 3항에 있어서,
    상기 명령어들은 상기 프로세서가,
    상기 추천 어플리케이션을 통하여 수행될 기능에 대한 하나 이상의 항목들을 결정하고,
    상기 전자 장치에 설치된 하나 이상의 어플리케이션들의 로그 데이터에 기반하여, 상기 하나 이상의 항목들의 값을 결정하도록 설정된 전자 장치.
  7. 제 6항에 있어서,
    상기 명령어들은 상기 프로세서가,
    외부 장치로부터, 상기 하나 이상의 항목들을 포함하는 템플릿을 수신하도록 설정된 전자 장치.
  8. 제 6항에 있어서,
    상기 명령어들은 상기 프로세서가,
    상기 제1 입력의 형태에 기반하여, 상기 추천 어플리케이션의 실행 아이콘을 표시하거나 상기 어플리케이션의 실행을 위한 음성 메시지를 출력하도록 설정된 전자 장치.
  9. 제 8항에 있어서,
    상기 명령어들은 상기 프로세서가,
    상기 제1 입력이 터치 입력인 경우, 상기 추천 어플리케이션의 실행 아이콘 및 상기 하나 이상의 항목들의 값을 나타내는 하나 이상의 오브젝트들을, 하나의 구분된 영역에 표시하도록 설정된 전자 장치.
  10. 제 9항에 있어서,
    상기 명령어들은 상기 프로세서가,
    상기 표시된 하나 이상의 항목들 중 적어도 하나의 항목의 값을 변경하는 제3 입력을 수신하고,
    상기 제3 입력에 따라 변경된 값을 나타내는 적어도 하나의 오브젝트를 표시하도록 설정된 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    쿼리를 포함하는 제1 입력을 수신하는 동작,
    상기 전자 장치에 설치된 복수의 어플리케이션들 중에서, 상기 쿼리에 매칭되는 추천 어플리케이션을 결정하는 동작,
    상기 추천 어플리케이션의 실행을 위한 확인 메시지를 출력하는 동작,
    상기 확인 메시지에 대응한 제2 입력을 수신하는 동작,
    상기 제2 입력의 수신에 대응하여, 상기 추천 어플리케이션을 실행하는 동작을 포함하는 방법.
  12. 제 11항에 있어서,
    상기 제1 입력 또는 상기 제2 입력 중 어느 하나는, 터치 입력 또는 음성 입력 중 적어도 하나인 방법.
  13. 제 12항에 있어서,
    상기 쿼리에 매칭되는 추천 어플리케이션을 결정하는 동작은,
    문언 매치를 수행하여 상기 전자 장치에 설치된 어플리케이션 중에서 제1 어플리케이션을 결정하는 동작,
    상황 매치를 수행하여 상기 제1 어플리케이션 중에서 제2 어플리케이션을 결정하는 동작,
    상기 제2 어플리케이션에 기반하여 추천 어플리케이션을 결정하는 동작을 포함하는 방법.
  14. 제 13항에 있어서,
    상기 상황 매치를 수행하여 상기 제1 어플리케이션 중에서 상기 제2 어플리케이션을 결정하는 동작은,
    상기 제1 어플리케이션의 각각에 상황 점수를 부여하는 동작,
    상기 상황 점수가 기준 값 이상인 어플리케이션을 제2 어플리케이션으로 결정하는 동작을 포함하는 방법.
  15. 제 14항에 있어서,
    상기 제1 어플리케이션의 각각에 상황 점수를 부여하는 동작은,
    상기 제1 어플리케이션의 각각이 미리 결정된 기준을 만족하는지 여부에 따라, 상기 미리 결정된 기준에 대응하는 상황 점수를 부여하는 동작을 포함하며,
    상기 미리 결정된 기준은, 상기 쿼리에 미리 대응 관계가 설정되어 있는지, 검색 혹은 사용 빈도가 기준 값을 넘는지, 지정된 기간 이내에 사용되었는지, 사용자가 상기 쿼리를 이용하여 실행까지 진행한 이력이 있는지 중 적어도 하나인 방법.
  16. 제 13항에 있어서,
    상기 추천 어플리케이션을 통하여 수행될 기능에 대한 하나 이상의 항목들을 결정하는 동작,
    상기 전자 장치에 설치된 하나 이상의 어플리케이션들의 로그 데이터에 기반하여, 상기 하나 이상의 항목들의 값을 결정하는 동작을 더 포함하는 방법.
  17. 제 16항에 있어서,
    상기 추천 어플리케이션을 통하여 수행될 기능에 대한 하나 이상의 항목들을 결정하는 동작은,
    외부 장치로부터, 상기 하나 이상의 항목들을 포함하는 템플릿을 수신하는 동작을 포함하는 방법.
  18. 제 16항에 있어서,
    상기 추천 어플리케이션의 실행을 위한 확인 메시지를 출력하는 동작은,
    상기 제1 입력의 형태에 기반하여, 상기 추천 어플리케이션의 실행 아이콘을 표시하거나 상기 추천 어플리케이션의 실행을 위한 음성 메시지를 출력하는 동작을 포함하는 방법.
  19. 제 18항에 있어서,
    상기 제1 입력의 형태에 기반하여 상기 추천 어플리케이션의 실행 아이콘을 표시하는 동작은,
    상기 제1 입력이 터치 입력인 경우, 상기 추천 어플리케이션의 실행 아이콘 및 상기 하나 이상의 항목들의 값을 나타내는 하나 이상의 오브젝트들을, 하나의 구분된 영역에 표시하는 동작을 포함하는 방법.
  20. 제 19항에 있어서,
    상기 표시된 하나 이상의 항목들 중 적어도 하나의 항목의 값을 변경하는 제3 입력을 수신하는 동작; 및
    상기 제3 입력에 따라 변경된 값을 나타내는 적어도 하나의 오브젝트를 표시하는 동작을 더 포함하는 방법.
KR1020180012392A 2018-01-31 2018-01-31 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법 KR102490426B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180012392A KR102490426B1 (ko) 2018-01-31 2018-01-31 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
PCT/KR2019/001379 WO2019151804A1 (ko) 2018-01-31 2019-01-31 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
US16/966,756 US11494443B2 (en) 2018-01-31 2019-01-31 Electronic device for executing recommended application and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180012392A KR102490426B1 (ko) 2018-01-31 2018-01-31 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20190092997A true KR20190092997A (ko) 2019-08-08
KR102490426B1 KR102490426B1 (ko) 2023-01-19

Family

ID=67478837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180012392A KR102490426B1 (ko) 2018-01-31 2018-01-31 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법

Country Status (3)

Country Link
US (1) US11494443B2 (ko)
KR (1) KR102490426B1 (ko)
WO (1) WO2019151804A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022098193A1 (ko) * 2020-11-06 2022-05-12 삼성전자주식회사 확장 가능한 디스플레이를 갖는 전자 장치 및 이의 제어 방법
KR20230032759A (ko) 2021-08-31 2023-03-07 엘지전자 주식회사 컨텐츠 추천을 위한 서비스 시스템 및 서비스 방법
WO2023054942A1 (ko) * 2021-09-28 2023-04-06 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11282052B2 (en) * 2019-05-06 2022-03-22 Advanced New Technologies Co., Ltd. Payment channel recommendation
US11741358B2 (en) * 2020-02-14 2023-08-29 Intuit, Inc. Application recommendation machine learning system
US11301273B2 (en) * 2020-03-11 2022-04-12 Atlassian Pty Ltd. Computer user interface for a virtual workspace having multiple application portals displaying context-related content
EP4047599A4 (en) * 2020-12-23 2022-12-21 Samsung Electronics Co., Ltd. METHOD FOR PROVIDING VOICE-BASED CONTENT AND ASSOCIATED ELECTRONIC DEVICE

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160179816A1 (en) * 2014-12-22 2016-06-23 Quixey, Inc. Near Real Time Auto-Suggest Search Results
US20160188721A1 (en) * 2014-12-31 2016-06-30 Quixey, Inc. Accessing Multi-State Search Results
US9524347B1 (en) * 2014-04-01 2016-12-20 Google Inc. Automatically implementing an application in response to a search query

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS588239B2 (ja) 1975-09-04 1983-02-15 パイオニア株式会社 直流ブラシレスモ−タの駆動装置
JP3646707B2 (ja) 2002-04-12 2005-05-11 ソニー株式会社 番組情報の取得装置および取得方法
US8667483B2 (en) 2009-03-25 2014-03-04 Microsoft Corporation Device dependent on-demand compiling and deployment of mobile applications
US9098363B2 (en) 2010-04-07 2015-08-04 Apple Inc. Search extensibility to third party applications
JP5808239B2 (ja) 2011-12-14 2015-11-10 アルパイン株式会社 検索システム
US9268462B2 (en) * 2012-08-14 2016-02-23 Google Inc. External action suggestions in search results
CN103020845B (zh) * 2012-12-14 2018-08-10 百度在线网络技术(北京)有限公司 一种移动应用的推送方法及系统
US20140188889A1 (en) * 2012-12-31 2014-07-03 Motorola Mobility Llc Predictive Selection and Parallel Execution of Applications and Services
US9305102B2 (en) * 2013-02-27 2016-04-05 Google Inc. Systems and methods for providing personalized search results based on prior user interactions
US9589033B1 (en) * 2013-10-14 2017-03-07 Google Inc. Presenting results from multiple search engines
US9075508B1 (en) * 2014-04-30 2015-07-07 Grandios Technologies, Llc Next application suggestions on a user device
KR102282487B1 (ko) 2014-05-08 2021-07-26 삼성전자주식회사 애플리케이션 실행 장치 및 방법
US20160055263A1 (en) 2014-08-22 2016-02-25 Successfactors, Inc. Providing Action Search and Quick Action Cards
US10102273B2 (en) * 2014-12-30 2018-10-16 Facebook, Inc. Suggested queries for locating posts on online social networks
WO2016166558A1 (en) * 2015-04-16 2016-10-20 Google, Inc. Native application search result adjustment based on user specific affinity
US10621189B2 (en) * 2015-06-05 2020-04-14 Apple Inc. In-application history search

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524347B1 (en) * 2014-04-01 2016-12-20 Google Inc. Automatically implementing an application in response to a search query
US20160179816A1 (en) * 2014-12-22 2016-06-23 Quixey, Inc. Near Real Time Auto-Suggest Search Results
US20160188721A1 (en) * 2014-12-31 2016-06-30 Quixey, Inc. Accessing Multi-State Search Results

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022098193A1 (ko) * 2020-11-06 2022-05-12 삼성전자주식회사 확장 가능한 디스플레이를 갖는 전자 장치 및 이의 제어 방법
KR20230032759A (ko) 2021-08-31 2023-03-07 엘지전자 주식회사 컨텐츠 추천을 위한 서비스 시스템 및 서비스 방법
WO2023054942A1 (ko) * 2021-09-28 2023-04-06 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Also Published As

Publication number Publication date
WO2019151804A1 (ko) 2019-08-08
US20210042362A1 (en) 2021-02-11
KR102490426B1 (ko) 2023-01-19
US11494443B2 (en) 2022-11-08

Similar Documents

Publication Publication Date Title
KR102490426B1 (ko) 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
US20190339840A1 (en) Augmented reality device for rendering a list of apps or skills of artificial intelligence system and method of operating the same
KR102599383B1 (ko) 분할된 화면 상에서 실행 가능한 어플리케이션 리스트를 디스플레이하는 전자 장치 및 전자 장치의 동작 방법
US20180137550A1 (en) Method and apparatus for providing product information
US11501069B2 (en) Electronic device for inputting characters and method of operation of same
KR102652984B1 (ko) 전자 장치 및 그 폴더 구성 방법
US11605113B2 (en) Method for dynamically recommending catalog and electronic device thereof
US11586342B2 (en) Method for providing user interface and electronic device therefor
KR20200017263A (ko) 이미지에 포함된 상품 정보와 관련된 키워드를 제공하기위한 전자 장치
US10976997B2 (en) Electronic device outputting hints in an offline state for providing service according to user context
US20200272678A1 (en) Electronic device and method for obtaining content information based on connected external device
US11455178B2 (en) Method for providing routine to determine a state of an electronic device and electronic device supporting same
US11341965B2 (en) System for processing user utterance and operating method thereof
US11599870B2 (en) Method and apparatus for determining device for payment in multiple electronic devices
KR102468678B1 (ko) 어플리케이션의 사용자 인터페이스를 표시하기 위한 방법 및 그 전자 장치
KR20190060476A (ko) 입력 필드에 입력된 데이터를 관리하는 전자 장치 및 방법
CN111656311B (zh) 电子设备及其操作方法
US11233953B2 (en) Image editing method and electronic device supporting same
KR20210028934A (ko) 관련 정보에 기반하여 외부 객체를 특정하는 전자 장치 및 그의 동작 방법
KR102706928B1 (ko) 단어 추천 방법 및 그 전자 장치
KR20190076621A (ko) 전자 장치 및 전자 장치에서 방송 콘텐트와 관련된 서비스 정보 제공 방법
KR102629411B1 (ko) 전자 장치 및 그의 사용자 입력에 기반한 서비스 제공 방법
KR20210085159A (ko) 서버 장치와 데이터를 송수신하는 전자 장치
KR20210056162A (ko) 선물을 추천하기 위한 전자 장치와 그 동작 방법
KR20210112900A (ko) 사용자 정보를 이용한 광고 방법 및 그 장치

Legal Events

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