KR20220131721A - 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법 - Google Patents

콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법 Download PDF

Info

Publication number
KR20220131721A
KR20220131721A KR1020210036757A KR20210036757A KR20220131721A KR 20220131721 A KR20220131721 A KR 20220131721A KR 1020210036757 A KR1020210036757 A KR 1020210036757A KR 20210036757 A KR20210036757 A KR 20210036757A KR 20220131721 A KR20220131721 A KR 20220131721A
Authority
KR
South Korea
Prior art keywords
electronic device
application
information
routine
execution screen
Prior art date
Application number
KR1020210036757A
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 KR1020210036757A priority Critical patent/KR20220131721A/ko
Priority to PCT/KR2022/003716 priority patent/WO2022203277A1/ko
Priority to US17/698,489 priority patent/US11893399B2/en
Publication of KR20220131721A publication Critical patent/KR20220131721A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • 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
    • 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
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Selective Calling Equipment (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치의 동작 방법은, 전자 장치에서 제1 애플리케이션을 실행하는 단계; 상기 제1 애플리케이션의 제1 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별하는 단계; 상기 제1 콘텐츠 및 상기 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 상기 제1 실행 화면의 제1 상태 정보를 획득하는 단계; 상기 전자 장치의 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 상기 제1 상태 정보에 기초하여, 상기 제1 상태 정보에 대응하는 제1 태스크를 수행하기 위한 루틴을 획득하는 단계; 및 상기 루틴을 실행하는 단계를 포함할 수 있다.

Description

콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법{ELECTRONIC DEVICE EXECUTING ROUTINE BASED ON CONTENT AND OPERATION METHOD OF ELECTRONIC DEVICE}
본 개시는 전자 장치 및 전자 장치의 동작 방법에 관한 것으로서, 전자 장치에서 제공된 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법에 관한 것이다.
최근 콘텐츠에 대한 서비스가 증가하면서, 사용자는 전자 장치를 통해 다양한 콘텐츠를 접할 수 있다. 또한, 전자 장치의 사용성이 고도화되면서, 콘텐츠와 함께 사용자에게 제공되는 사용자 인터페이스의 구성도 다양하다.
따라서, 전자 장치에서 제공되는 콘텐츠의 정보를 확인하고, 콘텐츠에 대한 사용자의 의도에 따라 사용자 인터페이스 구성을 효율적으로 사용할 수 있는 기술이 요구된다.
전자 장치에서 제공되는 콘텐츠와 콘텐츠에 대한 사용자의 의도를 인지하고, 사용자의 의도가 반영된 루틴을 실행하고자 한다.
사용자가 자주 사용하는 애플리케이션의 동작에 대한 루틴을 생성하고자 한다.
전자 장치의 화면의 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행하거나 추천하고자 한다.
일측에 따르면, 전자 장치에서 제1 애플리케이션을 실행하는 단계; 상기 제1 애플리케이션의 제1 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별하는 단계; 상기 제1 콘텐츠 및 상기 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 상기 제1 실행 화면의 제1 상태 정보를 획득하는 단계; 상기 전자 장치의 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 상기 제1 상태 정보에 기초하여, 상기 제1 상태 정보에 대응하는 제1 태스크를 수행하기 위한 루틴을 획득하는 단계; 및 상기 루틴을 실행하는 단계를 포함하는, 전자 장치의 동작 방법이 제공된다.
다른 일측에 따르면, 외부 장치와 통신을 수행하는 통신 인터페이스; 사용자 입력부; 디스플레이; 전자 장치의 동작을 제어하는 프로세서; 및 적어도 하나의 명령어를 저장하는 메모리를 포함하고, 상기 프로세서는 상기 적어도 하나의 명령어를 실행함으로써, 상기 전자 장치에서 제1 애플리케이션을 실행하고, 상기 제1 애플리케이션의 제1 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별하고, 상기 제1 콘텐츠 및 상기 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 상기 제1 실행 화면의 제1 상태 정보를 획득하고, 상기 전자 장치의 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 상기 제1 상태 정보에 기초하여, 상기 제1 상태 정보에 대응하는 제1 태스크를 수행하기 위한 루틴을 획득하고, 상기 루틴을 실행하는, 전자 장치가 제공된다.
또 다른 일측에 따르면, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
전자 장치에서 제공되는 콘텐츠와 콘텐츠에 대한 사용자의 의도를 인지하고, 사용자의 의도가 반영된 루틴을 실행할 수 있다.
사용자가 자주 사용하는 애플리케이션의 동작에 대한 루틴을 생성할 수 있다.
전자 장치의 화면의 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행하거나 추천할 수 있다.
도 1은 본 개시의 일실시예에 따른, 전자 장치의 화면에 표시된 콘텐츠 및 UI 컴포넌트를 식별한 결과에 기초하여, 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행하는 전자 장치의 동작을 설명하기 위한 개념도이다.
도 2는 본 개시의 일실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 3은 본 개시의 일실시예에 따라, UI 컴포넌트 및 상태 정보를 저장하는 과정을 설명하기 위한 도면이다.
도 4는 본 개시의 일실시예에 따라, UI 컴포넌트 및 상태 정보에 기초하여 루틴을 생성하는 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 일실시예에 따라, 제1 애플리케이션의 루틴을 설명하기 위한 도면이다.
도 6은 본 개시의 일실시예에 따라, 전자 장치에서 제1 애플리케이션과 다른 제2 애플리케이션이 실행됨에 따라, 전자 장치에서 발생되는 이벤트를 모니터링한 결과에 기초하여, 전자 장치의 정보 및 상태 태그 정보를 생성하는 과정을 설명하기 위한 도면이다.
도 7은 본 개시의 일실시예에 따라, 제1 애플리케이션의 루틴에 기초하여, 제2 애플리케이션의 루틴을 생성하는 과정을 설명하기 위한 도면이다.
도 8은 본 개시의 일실시예에 따라, 제2 애플리케이션의 루틴을 설명하기 위한 도면이다.
도 9는 본 개시의 일실시예에 따라, 전자 장치에서 광고 건너뛰기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 10은 본 개시의 일실시예에 따라, 전자 장치에서 이름 채우기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 11은 본 개시의 다른 실시예에 따라, 전자 장치에서 이름 채우기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 12는 본 개시의 일실시예에 따라, 전자 장치에서 "맛집 좋아요" 누르기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 13은 본 개시의 다른 일실시예에 따라, 전자 장치에서 "맛집 좋아요" 누르기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 14는 본 개시의 일실시예에 따라, 전자 장치에서 링크 저장하기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 15는 본 개시의 다른 일실시예에 따라, 전자 장치에서 링크 저장하기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 16은 본 개시의 일실시예에 따라, 전자 장치의 화면에 표시된 콘텐츠 및 UI 컴포넌트를 식별한 결과에 기초하여, 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행하는 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 17은 본 개시의 일실시예에 따라, UI 컴포넌트 및 상태 정보를 저장하는 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 18은 본 개시의 일실시예에 따라, 애플리케이션들의 루틴을 조합하여 복합 루틴을 생성하는 전자 장치의 동작 방법을 나타내는 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서, 전자 장치는, 휴대폰, 스마트 폰(smart phone), 스마트 패드(Smart pad), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 전자 장치, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
본 명세서에서, UI 컴포넌트(User Interface Component)는, 전자 장치에서 제공되는 UI를 구성하는 컴포넌트로서, 전자 장치 내에서 사용자와 전자 장치 간에 상호 작용하는 컴포넌트를 의미할 수 있다. 예를 들면, UI 컴포넌트에는, 애플리케이션의 실행 화면에서 사용자가 소정 정보를 입력하거나 선택하는 데에 이용되는 GUI(Graphical User Interface)에 포함된 컴포넌트, 전자 장치의 하드웨어 버튼 등이 포함될 수 있다.
본 명세서에서, 상태 정보는, 전자 장치의 화면에서 제공되는 콘텐츠 및 UI 컴포넌트를 식별한 결과에 기초하여, 전자 장치의 화면을 통해 소정 이벤트가 발생 가능한 상태임을 나타내는 정보일 수 있다. 예를 들면, 전자 장치의 화면에서 제공되는 콘텐츠 및 UI 컴포넌트는, 애플리케이션의 실행 화면에서 제공될 수 있다. 예를 들면, 소정 이벤트는, UI 컴포넌트를 통해 수신된 사용자의 입력 정보에 따라 애플리케이션에서 실행되는 동작을 의미할 수 있다. 예를 들면, 소정 이벤트는, 애플리케이션에서 사용자가 자주 사용하는 기능 또는 메뉴의 실행으로 발생되는 이벤트일 수 있다. 예를 들면, 상태 정보는, 사용자에 대한 애플리케이션의 사용 패턴 정보에 대응하는 이벤트가 발생 가능한 상태임을 나타내는 정보일 수 있다.
예를 들면, 상태 정보는, 전자 장치에서 제공되는 콘텐츠와 콘텐츠에 대한 사용자의 반응의 전후 상황을 나타내는 정보일 수 있다. 또한, 상태 정보는, 전자 장치에서 제공되는 콘텐츠와, 콘텐츠가 제공된 이후의 전자 장치의 후속 동작 간의 관계를 나타내는 정보일 수 있다. 여기서, 전자 장치의 후속 동작은, 전자 장치에서 소정 UI 컴포넌트를 통해 사용자의 입력 정보를 수신하는 동작, 사용자의 입력 정보에 따라 애플리케이션의 소정 기능 또는 메뉴를 실행하는 동작을 포함할 수 있다. 또한, 상태 정보는, 애플리케이션의 실행 화면에서 제공되는 콘텐츠와 사용자의 입력 정보와 관련된 UI 컴포넌트 간의 상황 또는 관계를 나타내는 정보일 수 있다. 또한, 상태 정보는, 애플리케이션의 실행 화면에서 제공되는 콘텐츠에 따라, 사용자의 입력 정보를 수신하는 UI 컴포넌트의 속성에 기초하여 결정될 수 있다. 또한, 상태 정보는, 상태 정보를 나타내는 단어, 키워드, 문구, 문장 등을 포함하는 상태 태그 정보를 포함할 수 있다. 또한, 상태 정보는, 루틴의 실행 조건을 충족시키는 조건 이벤트의 상태 정보, 및 루틴의 실행 결과를 나타내는 결과 이벤트의 상태 정보를 포함할 수 있다.
본 명세서에서, 루틴은, 소정 태스크를 수행하기 위한 전자 장치의 동작 또는 일련의 동작들의 세트일 수 있으며, 애플리케이션의 기능 및 전자 장치의 기능들에 의해 특정될 수 있다. 또한, 루틴은, 전자 장치에서 사용자가 애플리케이션을 사용하는 사용 패턴을 나타내는 사용 패턴 정보에 기초하여 설정될 수 있다. 예를 들면, 사용자가 자주 사용하는 애플리케이션, 애플리케이션에서 사용자가 자주 사용하는 기능, 애플리케이션들에서 사용자가 자주 연동하여 사용하는 기능 중 적어도 하나의 정보는 사용 패턴 정보로 저장될 수 있다. 예를 들면, 소정 항목에 대한 사용 빈도가, 미리 설정된 시간 동안 미리 설정된 임계값을 초과하면, 소정 항목이 자주 사용된 것으로 판단될 수 있다. 루틴이 생성되고, 전자 장치에서 루틴의 실행 조건을 충족시키는 조건 이벤트에 대응하는 이벤트가 검출되면, 전자 장치는 결과 이벤트에 대응하는 이벤트를 실행할 수 있다.
본 명세서에서, 태스크는, 루틴의 실행에 따라, 소정 목적을 달성하고자 하는 미션을 나타낼 수 있다. 서로 다른 애플리케이션에서, 소정 태스크에 대한 루틴은 다를 수 있다. 즉, 서로 다른 애플리케이션에서, 소정 태스크를 수행하기 위해, 각 애플리케이션에서 실행하는 세부 동작들, 세부 동작들의 순서 등이 다를 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 개시의 일실시예에 따른, 전자 장치의 화면에 표시된 콘텐츠 및 UI 컴포넌트를 식별한 결과에 기초하여, 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행하는 전자 장치의 동작을 설명하기 위한 개념도이다.
도 1의 이미지(110)을 참고하면, 전자 장치(1000)에서는 AAA 애플리케이션이 실행될 수 있다. 전자 장치(1000)는, AAA 애플리케이션의 실행 화면을 통해, AA 참치회 맛집 후기에 대한 정보를 표시할 수 있다. 전자 장치(1000)는, AAA 애플리케이션의 실행 화면에 표시된 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별할 수 있다. 예를 들면, 콘텐츠는, AA 참치회 맛집 후기에 대한 정보를 나타낼 수 있다. 구체적으로, 콘텐츠는, AA 참치회 맛집 후기에 대한 텍스트 (101, 103), 이미지(102)일 수 있다. 또한, 예를 들면, 적어도 하나의 UI 컴포넌트는, AAA 애플리케이션의 실행 화면에서 사용자가 소정 정보를 입력하거나 선택하는 데에 이용되는 GUI 일 수 있다. 구체적으로, 적어도 하나의 UI 컴포넌트는, "좋아요" 아이콘(104), "리뷰 작성" 아이콘(105), "공유하기" 아이콘(105)일 수 있다.
전자 장치(1000)는, AAA 애플리케이션의 실행 화면에 표시된 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, AAA 애플리케이션의 실행 화면 상태 정보를 획득할 수 있다. 예를 들면, 상태 정보는, 참치회 맛집 후기에 대해 "좋아요" 아이콘(104)을 누르거나, 리뷰를 작성하거나, 다른 사용자에게 공유할 수 있는 상태를 나타내는 정보일 수 있다.
전자 장치(1000)는, 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 AAA 애플리케이션의 실행 화면의 상태 정보에 기초하여, 상태 정보에 대응하는 루틴을 획득할 수 있다. 예를 들면, AAA 애플리케이션과 동일한 서비스를 제공하는 BBB 애플리케이션에서 맛집 후기에 대해 공유하기를 수행하는 사용자의 사용 동작이 사용 패턴으로 저장되어 있을 수 있다. 또한, BBB 애플리케이션에는 맛집 후기에 대해 공유하기 루틴이 설정되어 있을 수 있다. 전자 장치(1000)는, BBB 애플리케이션의 루틴 및 AAA 애플리케이션의 실행 화면의 상태 정보에 기초하여, AAA 애플리케이션에서 맛집 후기에 대해 공유하기 루틴을 생성할 수 있다.
도 1의 이미지(120)을 참고하면, 전자 장치(1000)는, 생성된 맛집 후기에 대해 공유하기 루틴을 실행할 수 있다. 전자 장치(1000)는, 공유하기가 가능한 애플리케이션들의 정보(121)를 표시할 수 있다.
도 1의 이미지(130)을 참고하면, 전자 장치(1000)는, 공유하기가 가능한 애플리케이션들의 정보(121)에 기초하여 선택된 애플리케이션을 실행하고, 공유 대상을 선택하기 위한 화면을 표시할 수 있다.
도 2는 본 개시의 일실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 2를 참고하면, 본 개시의 일 실시예에 따른 전자 장치(1000)는 통신 인터페이스(2100), 사용자 입력부(2200), 디스플레이(2300), 프로세서(2400) 및 메모리(2500)를 포함할 수 있다.
통신 인터페이스(2100)는 외부 장치 및 서버와 통신을 수행하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신 인터페이스(2100)는, 근거리 통신부, 이동 통신부 및 방송 수신부를 포함할 수 있다. 근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신부는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다. 방송 수신부는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다.
사용자 입력부(2200)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(2200)는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠 또는 조그 스위치 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.
디스플레이(2300)는 전자 장치(1000)에서 처리되는 정보를 표시한다. 예를 들어, 디스플레이(2300)는 전자 장치(1000)에서 실행된 애플리케이션의 실행 화면을 표시할 수 있다.
디스플레이(2300)와 터치 패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이(2300)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이(2300)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 전자 장치(1000)의 구현 형태에 따라 전자 장치(1000)는 디스플레이를 2개 이상 포함할 수도 있다.
메모리(2500)는 프로세서(2400)에 의해 실행될 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수 있다.
메모리(2500)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(2500)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류될 수 있다. 예를 들어, 프로그램들은, 상태 인식 UI 제공 모듈(2510), UI 컴포넌트 분할 모듈(2521), UI 컴포넌트 병합 모듈(2522), 루틴 실행 모듈(2523), UI 컴포넌트 인식 모듈(2531), 상태 분석 모듈(2532), 유사성 분석 모듈(2533), 패턴 추출 모듈(2534), 패턴 추천 모듈(2535)을 포함할 수 있다.
프로세서(2400)는 전자 장치(1000)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(2400)는 메모리(2500)에 저장된 프로그램들을 실행함으로써, 통신 인터페이스(2100), 사용자 입력부(2200), 디스플레이(2300) 및 메모리(2500) 등을 전반적으로 제어할 수 있다.
구체적으로, 프로세서(2400)는 메모리(2500)에 저장된 UI 제공 모듈(2510)을 실행함으로써, 애플리케이션의 실행 화면에서 사용자와 애플리케이션 간에 상호 작용하는 데에 이용되는 사용자 인터페이스(UI: User Interface)를 제공할 수 있다. 예를 들면, UI 컴포넌트는, 전자 장치(1000)가 소정 정보를 출력하고, 사용자의 소정 입력 정보를 수신하기 위해, 전자 장치(1000) 내에서 사용자와 전자 장치(1000) 간에 상호 작용하는 컴포넌트를 의미할 수 있다. 예를 들면, 애플리케이션의 실행 화면에는, 사용자가 소정 정보를 입력하거나 선택하는 데에 이용되는 UI 컴포넌트가 포함될 수 있다. 예를 들면, UI 컴포넌트는, 애플리케이션에서 소정 정보를 선택하기 위한 UI 컴포넌트, 소정 정보를 입력하기 위한 UI 컴포넌트 등일 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 UI 컴포넌트 분할 모듈(2521)을 실행함으로써, 사용자의 입력 정보와 애플리케이션의 정보를 수집할 수 있다. 예를 들면, 사용자의 입력 정보는, 사용자 입력부(2200)를 통해 수신된 정보일 수 있고, 구체적으로, 애플리케이션의 실행 화면에서 사용자가 입력한 문자 정보, 사용자가 선택한 UI 컴포넌트 등일 수 있다. 예를 들면, 애플리케이션의 정보는, 애플리케이션에서 제공되는 서비스, 애플리케이션의 종류, 전자 장치(1000)에서 표시되는 애플리케이션의 실행 화면, 애플리케이션의 실행 화면에서 제공되는 콘텐츠 중 적어도 하나의 정보를 포함할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 UI 컴포넌트 분할 모듈(2521)을 실행함으로써, 서비스 레이어 모듈을 이용하여, UI 컴포넌트와 상태 정보를 획득하고, 데이터베이스(2540)에 저장할 수 있다. 여기서, 서비스 레이어 모듈은, UI 컴포넌트 인식 모듈(2531), 상태 분석 모듈(2532), 유사성 분석 모듈(2533), 패턴 추출 모듈(2534), 패턴 추출 모듈(2534)을 포함할 수 있다. 서비스 레이어 모듈의 동작을 후술한다. 예를 들면, UI 컴포넌트 분할 모듈(2521)은, 애플리케이션의 실행 화면에서 사용자의 입력 정보 또는 선택 정보를 수신하는 데에 이용된 UI 컴포넌트를 추출할 수 있다. UI 컴포넌트 분할 모듈(2521)은, UI 컴포넌트와 애플리케이션의 실행 화면에서 제공된 콘텐츠에 기초하여 상태 정보를 획득할 수 있다.
예를 들면, 상태 정보는, 전자 장치(1000)의 화면에서 제공되는 콘텐츠 및 UI 컴포넌트를 식별한 결과에 기초하여, 전자 장치(1000)의 화면을 통해 소정 이벤트가 발생 가능한 상태임을 나타내는 정보일 수 있다. 예를 들면, 전자 장치(1000)의 화면에서 제공되는 콘텐츠 및 UI 컴포넌트는, 애플리케이션의 실행 화면에서 제공될 수 있다. 예를 들면, 소정 이벤트는, UI 컴포넌트를 통해 수신된 사용자의 입력 정보에 따라 애플리케이션에서 실행되는 동작을 의미할 수 있다. 예를 들면, 소정 이벤트는, 애플리케이션에서 사용자가 자주 사용하는 기능 또는 메뉴의 실행으로 발생되는 이벤트일 수 있다.
예를 들면, 상태 정보는, 사용자에 대한 애플리케이션의 사용 패턴 정보에 대응하는 이벤트가 발생 가능한 상태임을 나타내는 정보일 수 있다.
또한, 상태 정보는, 전자 장치(1000)에서 제공되는 콘텐츠와 콘텐츠에 대한 사용자의 반응의 전후 상황을 나타내는 정보일 수 있다. 구체적으로, 상태 정보는, 전자 장치에서 제공되는 콘텐츠와, 콘텐츠가 제공된 이후의 전자 장치의 후속 동작 간의 관계를 나타내는 정보일 수 있다. 여기서, 전자 장치의 후속 동작은, 전자 장치에서 소정 UI 컴포넌트를 통해 사용자의 입력 정보를 수신하는 동작, 사용자의 입력 정보에 따라 애플리케이션의 소정 기능 또는 메뉴를 실행하는 동작을 포함할 수 있다.
또한, 상태 정보는, 애플리케이션의 실행 화면에서 제공되는 콘텐츠와 사용자의 입력 정보와 관련된 UI 컴포넌트 간의 상황 또는 관계를 나타내는 정보일 수 있다. 또한, 상태 정보는, 상태 정보를 나타내는 단어 또는 키워드를 포함하는 상태 태그 정보를 포함할 수 있다. 또한, 상태 정보는, 루틴의 실행 조건을 충족시키는 조건 이벤트의 상태 정보, 및 루틴의 실행 결과를 나타내는 결과 이벤트의 상태 정보를 포함할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 UI 컴포넌트 병합 모듈(2522)을 실행함으로써, 사용자의 입력 정보와 애플리케이션의 정보를 수집하고, 서비스 레이어 모듈을 이용하여, UI 컴포넌트와 상태 태그 정보에 기초하여 루틴을 생성할 수 있다. 예를 들면, 루틴은, 소정 태스크를 수행하기 위해, 전자 장치의 동작 또는 일련의 동작들의 세트일 수 있다. 또한, 루틴은, 애플리케이션의 기능 또는 전자 장치의 기능들에 의해 특정될 수 있다. 또한, 루틴은 사용자에 대한 애플리케이션의 사용 패턴 정보에 기초하여 설정될 수 있다. 애플리케이션에서 사용자가 자주 사용하는 적어도 하나의 기능이 루틴으로 설정될 수 있다. 프로세서(2400)는, UI 컴포넌트 병합 모듈(2522)을 실행함으로써, 생성된 루틴을 데이터베이스(2540)에 저장할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 루틴 실행 모듈(2523)을 실행함으로써, 사용자의 입력 정보와 애플리케이션의 정보를 수집하고, 서비스 레이어 모듈을 이용하여, 실행 가능한 소정 루틴을 확인하고, 소정 루틴을 실행하거나 추천할 수 있다.
서비스 레이어 모듈은, UI 컴포넌트 인식 모듈(2531), 상태 분석 모듈(2532), 유사성 분석 모듈(2533), 패턴 추출 모듈(2534), 패턴 추출 모듈(2534)을 포함할 수 있고, 상기 예시에 제한되지 않는다. 상태 인식 UI 컴포넌트 분할 모듈(2521), 상태 인식 UI 컴포넌트 병합 모듈(2522), 루틴 실행 모듈(2523)은, 독립적으로, 서비스 레이어 모듈 내의 적어도 하나의 모듈을 이용함으로써, 할당된 기능을 수행할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 UI 컴포넌트 인식 모듈(2531)을 실행함으로써, 애플리케이션의 실행 화면에서 선택 가능한 UI 컴포넌트를 추출할 수 있다. 구체적으로, UI 컴포넌트 인식 모듈(2531)은, 애플리케이션의 실행 화면에서 사용자의 입력 정보를 수신하거나, 사용자의 선택 정보를 수신할 수 있는 UI 컴포넌트를 추출할 수 있다. 또한, 프로세서(2400)는, UI 컴포넌트 인식 모듈(2531)을 실행함으로써, 전자 장치(1000) 내의 마이크와 같은 소리 센서를 통해 획득된 음성 신호를 음성 커맨드로 전환할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 상태 분석 모듈(2532)을 실행함으로써, 애플리케이션의 실행 화면과 전자 장치(1000)에서 획득된 사용자의 정보에 기초하여, 상태 태그 정보를 생성할 수 있다. 예를 들면, 사용자의 정보는, 전자 장치(1000)의 화면을 통해 입력된 사용자의 입력 정보, 전자 장치(1000)의 센서에서 감지된 사용자의 센서 정보, 전자 장치(1000)에서 감지된 사용자의 음성 정보 등을 포함할 수 있다. 상태 분석 모듈(2532)는, 전자 장치에서 제공되는 콘텐츠와, 콘텐츠가 제공된 이후의 전자 장치의 후속 동작 간의 관계를 분석하고, 분석 결과에 기초하여 상태 정보를 나타내는 단어 또는 키워드를 포함하는 상태 태그 정보를 생성할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 유사성 분석 모듈(2533)을 실행함으로써, 사용자의 입력 정보들 간의 유사성을 판별할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 패턴 추출 모듈(2534)을 실행함으로써, 애플리케이션에서 사용자가 사용한 기능, 항목, 메뉴 등의 사용 정보에 기초하여, 사용 빈도가 높은 기능, 항목, 메뉴 중 적어도 하나를 사용 패턴으로 추출하고, 사용 패턴 정보를 생성할 수 있다. 예를 들면, 소정 항목에 대한 미리 설정된 시간 동안 미리 설정된 횟수 이상으로 사용된 경우, 소정 항목의 사용 빈도가 높은 것으로 판단될 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 패턴 추천 모듈(2535)을 실행함으로써, 애플리케이션의 실행 화면에서 사용자가 실행할 것으로 판단되는 사용 패턴을 예측하고, 사용 패턴을 추천할 수 있다.
프로세서(2400)는, 메모리(2500) 내의 데이터베이스(2540)에 애플리케이션의 실행 화면에서 제공되는 적어도 하나의 콘텐츠, 애플리케이션의 실행 화면과 관련된 UI 컴포넌트들의 정보, 콘텐츠와 UI 컴포넌트 간의 관계를 나타내는 정보를 저장할 수 있다.
한편, 프로세서(2400)는, 전자 장치(1000)에서 실행된 애플리케이션에서 제공되는 콘텐츠와 사용자의 활동에 의해 감지된 사용자의 입력 정보에 기초하여 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행할 수 있다.
구체적으로, 프로세서(2400)는 전자 장치(1000)에서 발생되는 적어도 하나의 이벤트를 모니터링할 수 있다. 예를 들면, 이벤트는, 전자 장치(1000)에서 실행된 애플리케이션의 동작, 또는 전자 장치(1000)에서 실행된 애플리케이션과 관련하여 전자 장치에서 감지된 사용자의 동작일 수 있다. 프로세서(2400)는, 사용자 입력부(2200)를 통해 수신된 정보 또는 전자 장치(1000) 내의 센서로부터 감지된 정보에 기초하여, 전자 장치(1000)에서 발생되는 이벤트를 모니터링 할 수 있다.
프로세서(2400)는 전자 장치(1000)에서 실행된 애플리케이션의 동작을 모니터링 함에 따라, 애플리케이션의 정보를 수집할 수 있다. 애플리케이션의 동작은, 애플리케이션의 실행을 위한 동작, 애플리케이션의 실행 화면을 제공하는 동작, 애플리케이션의 종료를 위한 동작 중 적어도 하나의 동작일 수 있다. 애플리케이션의 정보는, 애플리케이션에서 제공되는 서비스, 애플리케이션의 종류, 전자 장치(1000)에서 표시되는 애플리케이션의 실행 화면, 애플리케이션의 실행 화면에서 제공되는 콘텐츠 중 적어도 하나의 정보를 포함할 수 있다.
프로세서(2400)는 전자 장치(1000)에서 감지된 사용자의 동작을 모니터링 함에 따라, 사용자의 정보를 수집할 수 있다. 예를 들면, 사용자의 동작은, 전자 장치(1000)에서 제공되는 터치 패드를 통한 소정 정보를 입력하는 동작, 전자 장치(1000)에서 제공되는 버튼을 통해 소정 정보를 입력하는 동작, 사용자의 제스처 동작, 사용자의 발화 동작 중 적어도 하나의 동작일 수 있다. 사용자의 정보는, 사용자의 동작에 따라 사용자가 입력한 정보, 사용자가 선택한 정보, 사용자의 음성 정보 중 적어도 하나의 정보를 포함할 수 있다.
프로세서(2400)는 적어도 하나의 이벤트를 모니터링 함에 따라, 전자 장치(1000)에서 실행된 제1 애플리케이션의 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별할 수 있다. 프로세서(2400)는, 제1 애플리케이션의 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 제1 실행 화면의 제1 상태 정보를 획득할 수 있다.
프로세서(2400)는, 제1 애플리케이션의 제1 실행 화면에서 제공되는 제1 콘텐츠와 제1 콘텐츠가 제공된 이후의 전자 장치의 후속 동작 간의 관계를 확인하고, 확인 결과에 기초하여 제1 애플리케이션의 제1 실행 화면의 제1 상태 정보를 획득할 수 있다.
예를 들면, 제1 애플리케이션의 제1 실행 화면은, 제1 애플리케이션의 동작에 따라 디스플레이(2300)에서 표시되는 화면일 수 있다. 제1 애플리케이션의 제1 실행 화면은, 사용자가 실행 화면 내에서 선택한 정보에 따라서 변경될 수 있다.
예를 들면, 전자 장치의 후속 동작은, 제1 콘텐츠가 제공된 이후에 전자 장치에서 소정 UI 컴포넌트를 통해 사용자의 입력 정보를 수신하는 동작, 사용자의 입력 정보에 따라 제1 애플리케이션의 소정 기능 또는 메뉴를 실행하는 동작을 포함할 수 있다. 예를 들면, 사용자의 입력 정보는, 제1 애플리케이션의 실행 화면에 표시된 소정 UI 컴포넌트를 통해 사용자가 입력한 정보일 수 있다. 구체적인 예를 들면, 사용자의 입력 정보는, 사용자가 선택한 UI 컴포넌트의 정보, UI 컴포넌트를 통해 사용자가 입력한 텍스트 정보, UI 컴포넌트를 통해 사용자가 누른 버튼의 기능 정보 또는 속성 정보 등일 수 있다.
예를 들면, 프로세서(2400)는 전자 장치(1000)에서 실행된 제1 애플리케이션의 실행 화면에 기초하여, 제1 애플리케이션의 실행 화면에서 제공되는 제1 콘텐츠와 적어도 하나의 UI 컴포넌트를 식별할 수 있다. 프로세서(2400)는, 제1 콘텐츠와 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 제1 애플리케이션의 실행 화면의 제1 상태 정보를 획득할 수 있다. 예를 들면, 제1 상태 정보는, 적어도 하나의 UI 컴포넌트를 통해 수신된 사용자의 입력 정보에 따라 실행되는 소정 이벤트가 발생 가능한 상태임을 나타내는 정보일 수 있다.
예를 들면, 제1 애플리케이션의 실행 화면에서 제공되는 콘텐츠는 광고이고, 실행 화면에서 "광고 건너뛰기" 아이콘이 표시될 수 있다. "광고 건너뛰기" 아이콘은, 광고 화면에서 다음 콘텐츠의 화면으로 변경하기 위한 UI 컴포넌트일 수 있다. 프로세서(2400)는, 제1 애플리케이션의 실행 화면에서 제공되는 광고 및 "광고 건너뛰기" 아이콘의 속성에 기초하여, "광고 건너뛰기"가 발생 가능한 상태임을 나타내는 상태 정보를 획득할 수 있다.
예를 들면, 프로세서(2400)는 전자 장치(1000)에서 실행된 제1 애플리케이션의 실행 화면 및 전자 장치(1000)에서 감지된 사용자의 입력 정보 중 적어도 하나에 기초하여, 제1 애플리케이션의 실행 화면에서 제공되는 제1 콘텐츠와 적어도 하나의 UI 컴포넌트 간의 상관 관계를 나타내는 관계 정보를 획득할 수 있다. 프로세서(2400)는, 관계 정보에 기초하여, 제1 애플리케이션의 실행 화면의 제1 상태 정보를 획득할 수 있다.
구체적으로, 프로세서(2400)는 제1 애플리케이션의 실행 화면에서 제공되는 제1 콘텐츠 및 제1 애플리케이션의 실행 화면 내에서 사용자의 입력이 감지된 제1 UI 컴포넌트의 속성에 기초하여, 제1 콘텐츠에 대해 제1 UI 컴포넌트에 대응하는 기능을 실행할 수 있는 상태를 나타내는, 제1 애플리케이션의 실행 화면의 제1 상태 정보를 획득할 수 있다. 또한, 프로세서(2400)는, 제1 상태 정보를 나타내는 제1 상태 태그 정보를 획득할 수 있다.
예를 들면, 제1 애플리케이션의 실행 화면에서 제공되는 콘텐츠는 "맛집" 블로그이고, 제1 애플리케이션의 실행 화면에 복수의 아이콘들에는 "공유하기" 아이콘이 포함될 수 있다. 사용자가 "공유하기" 아이콘을 선택하면, 프로세서(2400)는, "맛집" 블로그 및 "공유하기" 아이콘의 속성에 기초하여, "맛집 블로그를 공유하기"를 실행할 수 있는 상태을 나타내는 상태 정보를 획득할 수 있다.
프로세서(2400)는 전자 장치(1000)의 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 제1 상태 정보에 기초하여, 제1 상태 정보에 대응하는 제1 태스크를 실행하기 위한 루틴을 획득할 수 있다.
예를 들면, 애플리케이션의 사용 패턴 정보는, 사용자가 애플리케이션에서 반복적으로 사용한 기능, 항목, 메뉴 등의 사용 정보를 나타낼 수 있다. 예를 들면, 기능, 항목, 메뉴 등이 미리 설정된 시간 동안 미리 설정된 횟수 이상으로 사용된 경우 반복적으로 사용한 것으로 판단될 수 있다. 프로세서(2400)는, 전자 장치(1000)에서 실행되는 애플리케이션들의 동작을 모니터링 하고, 사용자에 대한 애플리케이션들의 사용 패턴 정보를 수집할 수 있다.
예를 들면, 애플리케이션의 실행 중에 "광고 건너뛰기" 기능에 대한 사용 빈도가 높은 경우, 프로세서(2400)는, "광고 건너뛰기"를 사용 패턴으로 추출하고, "애플리케이션의 실행 중에 광고가 노출되면 광고 건너뛰기"를 사용 패턴 정보로 생성할 수 있다.
프로세서(2400)는, 미리 저장된 복수의 루틴들 중에서, 제1 상태 정보와 매칭되는 루틴을 검출할 수 있다. 구체적으로, 프로세서(2400)는 사용자에 대한 적어도 하나의 애플리케이션의 사용 패턴 정보에 기초하여 미리 설정된 복수의 루틴들 중에서, 제1 상태 정보와 매칭되는 상태 정보를 제1 태스크의 실행 조건으로 충족시키는 제1 루틴을 검출할 수 있다.
예를 들면, 제1 상태 정보와 매칭되는 상태 정보는, 제1 상태 정보와 동일한 상태 정보 또는 제1 상태 정보와 유사한 상태 정보일 수 있다. 예를 들면, 제1 상태 정보와 동일한 상태 정보는, 제1 상태 정보의 상태 태그 정보와 동일한 상태 태그 정보를 갖는 상태 정보일 수 있다. 또한, 제1 상태 정보와 유사한 상태 정보는, 제1 상태 정보의 상태 태그 정보와 유사한 상태 태그 정보를 갖는 상태 정보일 수 있다. 예를 들면, 프로세서(2400), 유사성을 판단하는 모델을 이용하여, 상태 정보 간의 유사성을 판단할 수 있다. 유사성을 판단하는 모델은, 상태 태그 정보 간의 유사성을 판단하는 모델일 수 있다. 예를 들면, 유사성을 판단하는 모델은, 상태 태그 정보를 공간 벡터에 표시하는 representation learning 기술을 이용할 수 있다. 유사성을 판단하는 모델에 의해 산출된 상태 정보 간의 유사도가 미리 설정된 값 이상이면, 상태 정보 간에 유사성이 있다고 판단될 수 있다.
프로세서(2400)는, 복수의 루틴들 중에서, 전자 장치(1000)에서 실행 중인 제1 애플리케이션의 루틴의 타입에 해당하고, 제1 상태 정보와 동일한 상태 정보 또는 제1 상태 정보와 유사한 상태 정보를 갖는 제1 루틴을 검출할 수 있다.
복수의 루틴들 중에서 검출된, 제1 상태 정보와 매칭되는 상태 정보를 갖는 제1 루틴이 제1 애플리케이션과 다른 제2 애플리케이션에서 실행되는 루틴이면, 프로세서(2400)는 제1 상태 정보 및 제1 루틴에 기초하여, 제1 태스크를 실행하기 위한 제2 루틴을 생성할 수 있다. 즉, 프로세서(2400)는, 검출된 루틴이 전자 장치(1000)에 실행된 애플리케이션에 직접적으로 적용할 수 없는 경우에, 검출된 루틴과 동일한 태스크를 실행하는 유사한 루틴을 생성할 수 있다.
프로세서(2400)는, 제1 애플리케이션의 동작을 모니터링 한 결과에 기초하여, 사용자에 대한 제1 애플리케이션의 제1 사용 패턴 정보를 획득할 수 있다. 제1 애플리케이션의 동작을 모니터링함에 따라 획득된 제1 애플리케이션의 모니터링 정보는, 제1 애플리케이션들의 각 실행 화면에 표시된 적어도 하나의 콘텐츠의 정보, UI 컴포넌트를 통해 수신된 사용자의 입력 정보, 사용자의 입력 정보에 따라 제1 애플리케이션에서 실행된 기능의 정보 등을 포함할 수 있다. 또한, 제1 애플리케이션의 모니터링 정보는, 제1 애플리케이션의 각 실행 화면에서 제공되는 적어도 하나의 콘텐츠와 적어도 하나의 콘텐츠에 따라 사용된 UI 컴포넌트 간의 상관 관계를 나타내는 정보를 포함할 수 있다. 예를 들면, 제1 사용 패턴 정보는, 제1 태스크를 수행하기 위한 사용 패턴을 나타내는 정보일 수 있다. 프로세서(2400)는, 제1 애플리케이션의 사용 패턴 정보에 기초하여, 제1 태스크를 수행하기 위한 제1 루틴을 생성할 수 있다.
예를 들면, 제1 애플리케이션의 모니터링 정보가 수집되지 않은 경우, 프로세서(2400)는, 제1 애플리케이션에서 제공되는 서비스와 동일하거나 유사한 서비스를 제공하는 제2 애플리케이션의 모니터링 정보를 획득할 수 있다. 여기서, 제1 애플리케이션에서 제공되는 서비스와 유사한 서비스는, 미리 설정될 수 있다. 프로세서(2400)는, 제2 애플리케이션의 모니터링 정보에 기초하여, 제1 애플리케이션의 사용 패턴 정보를 예측할 수 있다. 프로세서(2400)는, 제1 애플리케이션의 사용 패턴 정보에 기초하여, 제1 태스크를 수행하기 위한 제1 루틴을 생성할 수 있다.
프로세서(2400)는 루틴에 따라 제1 태스크를 실행할 수 있다. 프로세서(2400)는 루틴의 실행을 추천할 수 있다. 프로세서(2400)는 루틴의 추천을 승인하는 입력이 수신되면, 제1 태스크를 실행할 수 있다.
한편, 프로세서(2400)는, 애플리케이션들의 각 실행 화면에서 제공되는 적어도 하나의 콘텐츠와 애플리케이션들의 각 실행 화면과 관련된 UI 컴포넌트들 간의 상관 관계에 기초하여, 애플리케이션들의 각 실행 화면의 상태 정보를 획득할 수 있다. 프로세서(2400)는, 메모리에 애플리케이션들의 각 실행 화면의 상태 정보를 저장할 수 있다.
예를 들어, 프로세서(2400)는 애플리케이션들 중 제2 애플리케이션의 실행 화면에서 사용자의 입력이 수신된 영역을 검출할 수 있다. 프로세서(2400)는 제2 애플리케이션의 실행 화면에서 제공되는 제2 콘텐츠 및 영역 내에서 사용자의 입력이 감지된 제2 UI 컴포넌트의 속성에 기초하여, 제2 애플리케이션의 실행 화면의 제2 상태 정보를 획득할 수 있다. 프로세서(2400)는 제2 UI 컴포넌트가 포함된 영역의 이미지와 제2 상태 정보를 나타내는 제2 상태 태그 정보를 저장할 수 있다.
구체적으로, 프로세서(2400)는, UI 컴포넌트 분할 모드를 실행할 수 있다. 전자 장치(1000)에서 UI 컴포넌트 분할 모드가 실행되면, 프로세서(2400)는, 디스플레이(2300)에 표시된 실행 화면 및 사용자의 입력 정보 중 적어도 하나에 기초하여, 실행 화면 내에서 UI 컴포넌트를 분할하고, 실행 화면에서 제공되는 콘텐츠와 UI 컴포넌트 간의 상관 관계를 나타내는 관계 정보를 획득할 수 있다. 프로세서(2400)는, 관계 정보에 기초하여, 실행 화면의 상태 정보를 획득할 수 있다. 프로세서(2400)는 상태 정보를 데이터베이스(2540)에 저장할 수 있다.
예를 들면, 프로세서(2400)는, UI 컴포넌트 분할 모드를 실행하기 위한 소정 명령을 획득할 수 있다. 예를 들면, UI 컴포넌트 분할 모드를 직접적으로 실행시키는 방식과 자동으로 실행시키는 방식이 있을 수 있다. UI 컴포넌트 분할 모드를 직접적으로 실행시키는 방식을 예로 들면, 프로세서(2400)는, "UI 컴포넌트 분할 모드로 진입해줘"와 같은 소정 음성을 획득하거나, 실행 화면 내에서 "UI 컴포넌트 분할 모드"를 실행하는 아이콘을 선택하는 입력을 획득함에 따라, "UI 컴포넌트 분할 모드"를 실행할 수 있다. UI 컴포넌트 분할 모드를 자동으로 실행시키는 방식을 예로 들면, 프로세서(2400)는, 전자 장치(1000)와 사용자 간의 미리 설정된 인터렉션(interaction)에 따라, "UI 컴포넌트 분할 모드"를 실행할 수 있다. 예를 들면, 미리 설정된 인터렉션은, 실행 화면을 터치하는 동작, 소정 버튼을 누르는 동작, 소정 제스처를 취하는 동작일 수 있고, 상기 예시에 제한되지 않는다.
프로세서(2400)는, 사용자의 입력 정보와 전자 장치(1000)와 사용자 간의 인터렉션을 레코딩하거나, 분할하고자 하는 UI 컴포넌트의 정보를 수신할 수 있다. UI 컴포넌트의 정보를 수신하는 방식을 예로 들면, 사용자가 직접 영역을 지정하는 방식과 실행 화면 내에서 터치가 발생한 영역을 추출하는 방식이 있을 수 있다.
예를 들어, 사용자가 직접 영역을 지정하는 방식을 설명하면, 프로세서(2400)는 전자 장치(1000)의 실행 화면을 통해 영역 선택을 위한 시작 입력과 종료 입력을 수신할 수 있다. 실행 화면 내에서 터치가 발생한 영역을 추출하는 방식을 설명하면, 프로세서(2400)는, 전자 장치(1000)와 사용자 간에 인터렉션이 발생한 순간의 실행 화면을 캡쳐할 수 있다. 프로세서(2400)는, 캡쳐된 실행 화면 내에서 인터렉션에 따라 이벤트가 발생된 좌표 정보를 획득함으로써, UI 영역 정보를 획득할 수 있다.
프로세서(2400)는 애플리케이션의 실행 화면과 전자 장치(1000)에서 감지된 사용자의 입력 정보 중 적어도 하나에 기초하여, 애플리케이션의 실행 화면에서 제공되는 콘텐츠와 UI 컴포넌트 간의 상관 관계를 나타내는 관계 정보를 획득할 수 있다. 프로세서(2400)는, 관계 정보에 기초하여, 애플리케이션의 실행 화면의 상태 정보를 획득할 수 있다.
예를 들면, 애플리케이션의 실행 화면에서 "광고 건너뛰기" 아이콘이 표시되고, 사용자가 "광고 건너뛰기" 아이콘을 선택한 경우, 프로세서(2400)는, 광고 건너뛰기 아이콘이 포함된 애플리케이션의 실행 화면에서 광고 건너뛰기가 발생 가능한 상태임을 나타내는 상태 정보를 획득할 수 있다. 또한, 프로세서(2400)는, "광고 건너뛰기" 아이콘에 대해서, 광고 건너뛰기, 광고 스킵, 광고 생략, 광고 제외 등의 상태 태그 정보를 획득할 수 있다.
프로세서(2400)는, UI 컴포넌트 분할 모드에 따라 분할된 UI 컴포넌트, UI 컴포넌트가 포함된 이미지 및 상태 정보를 데이터베이스(2540)에 저장할 수 있다.
한편, 프로세서(2400)는, 적어도 둘 이상의 애플리케이션의 동작이 결합된 복합 루틴을 생성할 수 있다. 구체적으로, 프로세서(2400)는 적어도 둘 이상의 애플리케이션의 사용 패턴 정보에 기초하여, 적어도 둘 이상의 애플리케이션의 루틴을 조합하여 복합 루틴을 생성할 수 있다. 예를 들어, 적어도 둘 이상의 애플리케이션의 사용 패턴 정보는, 적어도 둘 이상의 애플리케이션 간에 반복적으로 연동하여 사용하는 기능에 대한 정보를 포함할 수 있다. 예를 들어, 프로세서(2400)는 적어도 둘 이상의 애플리케이션의 루틴에 대한 UI 컴포넌트들을 호출할 수 있다. 프로세서(2400)는 UI 컴포넌트들 및 UI 컴포넌트들에 대응하는 상태 태그 정보를 표시할 수 있다. 프로세서(2400)는 사용자에 대한 적어도 둘 이상의 애플리케이션의 사용 패턴 정보 및 UI 컴포넌트들에 대응하는 상태 태그 정보에 기초하여, 태스크의 실행 조건에 대응하는 루틴과 태스크의 결과에 대응하는 루틴을 조합함으로써, 복합 루틴을 생성할 수 있다.
프로세서(2400)는, 메모리(2500) 내의 데이트베이스에 저장된 UI 컴포넌트들을 호출할 수 있다. 프로세서(2400)는, 사용자가 생성하고자 하는 루틴의 명칭 정보를 획득할 수 있다. 프로세서(2400)는, 디스플레이(2300)를 제어하여, UI 컴포넌트들 및 UI 컴포넌트들에 대응하는 상태 태그 정보를 포함하는 상태 정보를 표시할 수 있다. 프로세서(2400)는, 사용자의 입력에 기초하여, 상태 태그 정보를 수정할 수 있다. 프로세서(2400)는, UI 컴포넌트들 중에서 적어도 둘 이상의 UI 컴포넌트를 선택하고, 선택된 적어도 둘 이상의 UI 컴포넌트의 루틴을 생성할 수 있다. 프로세서(2400)는, 사용자의 입력 또는 인공 지능 모델에 기초하여, UI 컴포넌트들 중에서 적어도 둘 이상의 UI 컴포넌트를 선택할 수 있다. 또한, 프로세서(2400)는, 인공 지능 모델에 기초하여, 생성된 루틴과 동일한 상태 정보 또는 유사한 상태 정보를 갖는 루틴을 생성할 수도 있다.
한편, 프로세서(2400)는, 제1 애플리케이션의 제1 상태 정보에 따라 생성된 제1 루틴에 기초하여, 제2 애플리케이션의 제2 루틴을 생성할 수 있다. 여기서, 제2 애플리케이션의 제2 루틴은, 제1 상태 정보와 동일한 상태 정보 또는 유사한 상태 정보를 갖는 루틴일 수 있다.
구체적으로, 프로세서(2400)는, 제1 애플리케이션의 제1 상태 정보에 기초하여 제1 태스크를 실행하는 제1 루틴을 생성할 수 있다. 제1 루틴에 따른 이벤트는, 실행 조건을 충족시키는 이벤트, 및 실행 결과를 나타내는 이벤트로 구성될 수 있다. 실행 조건을 충족시키는 이벤트는, 제1 태스크가 실행되기 위한 조건을 충족시키는 이벤트일 수 있다. 또한, 실행 결과를 나타내는 이벤트는, 제1 태스크가 실행 완료된 상태의 이벤트일 수 있다. 프로세서(2400)는, 실행 조건을 충족시키는 이벤트에 대응하는, 제1 애플리케이션의 실행 화면 또는 사용자의 입력 정보를 획득하고, 저장할 수 있다. 또한, 프로세서(2400)는 실행 조건을 충족시키는 이벤트의 상태 태그 정보를 획득하고, 저장할 수 있다.
예를 들면, 제1 루틴은, 제1 애플리케이션에서 "해산물 요리"의 이미지가 있으면, "좋아요"를 선택하는 루틴일 수 있다. 프로세서(2400)는, 제1 애플리케이션의 실행 화면에 "해산물 요리"의 이미지가 표시되는 이벤트, 및 제1 애플리케이션의 실행 화면에 "좋아요" 아이콘이 표시되는 이벤트를 실행 조건을 충족시키는 이벤트로 설정할 수 있다. 또한, 프로세서(2400)는, 제1 애플리케이션의 실행 화면에서 "좋아요" 아이콘이 선택 완료된 이벤트를 실행 결과를 나타내는 이벤트로 설정할 수 있다. 예를 들면, 프로세서(2400)는, 실행 조건을 충족시키는 이벤트와 관련하여, 애플리케이션의 명칭, SNS, 사진, 이미지, 해산물, 맛집, 낙지, 조개, 맛집 등을 상태 태그 정보로 획득하고, 저장할 수 있다. 또한, 프로세서(2400)는, 실행 결과를 나타내는 이벤트와 관련하여, 아이콘, 좋아요, 엄지척 등을 상태 태그 정보로 획득하고, 저장할 수 있다.
프로세서(2400)는, 제2 애플리케이션이 실행된 전자 장치(1000)에서 발생되는 이벤트를 모니터링 할 수 있다. 여기서, 이벤트는, 사용자가 활동함에 따라, 전자 장치(1000)에서 감지된 동작일 수 있다. 프로세서(2400)는, 이벤트를 모니터링 함에 따라, 제2 애플리케이션의 실행 화면, 사용자의 입력 정보에 기초하여, 제2 상태 정보를 획득할 수 있다. 예를 들면, 제2 상태 정보는, 제2 애플리케이션의 실행 화면에서 제공되는 콘텐츠와 사용자의 입력 정보와 관련된 UI 컴포넌트 간의 상관 관계에 기초하여, 제2 애플리케이션의 실행 화면의 상태를 나타내는 정보일 수 있다. 프로세서(2400)는, 제2 상태 정보에 대응하는 이벤트들을 시계열적으로 구성하고, 이벤트들에 대한 상태 태그 정보를 획득할 수 있다.
예를 들면, 프로세서(2400)는, 제2 애플리케이션의 실행 화면에서 "해산물 요리"의 이미지가 표시되고, 하트 모양의 아이콘을 선택하는 이벤트를 감지할 수 있다. 프로세서(2400)는, 제2 애플리케이션을 실행하는 동작을 제1 이벤트로 감지하고, "해산물 요리"의 이미지 및 "하트 모양"의 아이콘을 포함하는 실행 화면을 표시하는 동작을 제2 이벤트로 감지하고, "하트 모양"의 아이콘을 선택하는 입력을 수신하는 동작을 제3 이벤트로 감지할 수 있다. 프로세서(2400)는, 감지된 이벤트들에 대한 상태 태그 정보를 획득할 수 있다. 예를 들면, 프로세서(2400)는, 애플리케이션의 명칭, SNS, 앱, 사용자 앱 등을 제1 이벤트의 상태 태그 정보로 획득하고, 사진, 이미지, 해산물, 맛집, 낙지, 맛집, 여행 등을 제2 이벤트의 상태 태그 정보로 획득하고, 아이콘, 하트, 좋아요 등을 제3 이벤트의 상태 태그 정보로 획득할 수 있다.
프로세서(2400)는, 사용자의 활동에 따라 감지된 제2 애플리케이션의 이벤트들과 제1 애플리케이션의 제1 루틴에 대응하는 이벤트들 간의 유사성을 검증할 수 있다. 예를 들면, 프로세서(2400)는, 유사도 학습 모델을 이용하여, 제2 애플리케이션의 이벤트들과 제1 애플리케이션의 제1 루틴에 대응하는 이벤트들 간의 유사성을 검증할 수 있다. 예를 들면, 프로세서(2400)는, 유사도 학습 모델을 이용함으로써, 제1 애플리케이션과 제2 애플리케이션 간의 카테고리의 유사성을 판단하고, 제1 애플리케이션의 제1 루틴에 대응하는 이벤트들과 제2 애플리케이션의 이벤트들 간의 유사성을 판단할 수 있다.
제2 애플리케이션의 이벤트들과 제1 루틴에 대응하는 이벤트들 간에 유사성이 확인되면, 프로세서(2400)는, 제1 루틴의 상태 정보에 기초하여, 제2 애플리케이션의 이벤트들을 제2 루틴의 실행 조건을 충족시키는 이벤트와 제2 루틴의 실행 결과를 나타내는 이벤트로 구분할 수 있다. 프로세서(2400)는, 구분된 이벤트들에 기초하여, 제1 루틴과 동일한 상태 정보 또는 유사한 상태 정보를 갖는 제2 루틴을 생성할 수 있다.
한편, 통신 인터페이스(2100)는, 서버로부터, 전자 장치(1000)에 설치된 애플리케이션의 루틴의 상태 정보와 매칭되는 상태 정보를 갖는 제1 애플리케이션의 루틴을 수신할 수 있다.
프로세서(2400)는 애플리케이션들의 적어도 하나의 루틴의 상태 정보 및 적어도 하나의 루틴의 상태 정보에 대응하는 이미지를 학습할 수 있다. 프로세서(2400)는 학습 결과에 기초하여, 애플리케이션의 상태 정보에 따라 루틴을 추천하는 학습 모델을 업데이트 할 수 있다.
도 3은 본 개시의 일실시예에 따라, UI 컴포넌트 및 상태 정보를 저장하는 과정을 설명하기 위한 도면이다.
도 3을 참고하면, 단계 S310에서, 전자 장치(1000)는, 전자 장치(1000)에서 실행되는 적어도 하나의 이벤트를 모니터링 할 수 있다. 예를 들면, 이벤트는, 소정 애플리케이션을 실행시키는 동작, 소정 애플리케이션에서 실행 화면을 제공하는 동작, 전자 장치(1000)에서 사용자의 입력 정보를 수신하는 동작 등일 수 있다. 예를 들어, 도 3의 블록(311)을 참고하면, 전자 장치(1000)는, 전자 장치(1000)에 설치된 복수의 애플리케이션들 중 XXX 애플리케이션을 실행하는 동작, YYY 애플리케이션을 실행하는 동작을 감지할 수 있다. 또한, 전자 장치(1000)에서 복수의 애플리케이션이 실행되는 경우, 전자 장치(1000)는 복수의 애플리케이션이 실행되는 순서, 복수의 애플리케이션에서 실행된 기능, 사용자에 의해 선택된 정보, 사용자에 의해 입력된 정보 등을 모니터링 할 수 있다.
단계 S320에서, 전자 장치(1000)는 애플리케이션의 실행 화면에서 적어도 하나의 UI 컴포넌트를 식별할 수 있다. 예를 들면, 전자 장치(1000)는, 애플리케이션의 실행 화면에서 표시된 UI 컴포넌트, 애플리케이션의 실행 화면에서 사용자가 이용한 UI 컴포넌트를 식별할 수 있다. 예를 들어, 도 3의 블록(321)을 참고하면, 전자 장치(1000)는 애플리케이션을 실행하기 위한 UI 컴포넌트, 애플리케이션 내에서 소정 기능을 실행하기 위한 UI 컴포넌트를 검출할 수 있다.
단계 S330에서, 전자 장치(1000)는 실행 화면의 상태 정보를 획득할 수 있다. 구체적으로, 전자 장치(1000)는, 애플리케이션의 실행 화면 내에 표시된 콘텐츠, 및 콘텐츠에 대한 전자 장치(1000)의 후속 동작을 확인하고, 콘텐츠와 콘텐츠에 대한 전자 장치(1000)의 후속 동작 간의 관계를 나타내는 상태 정보를 획득할 수 있다. 전자 장치(1000)는 상태 정보를 나타내는 단어, 키워드, 문구, 문장 등을 포함하는 상태 태그 정보를 획득할 수 있다. 예를 들어, 도 3의 블록(331)을 참고하면, 전자 장치(1000)는 애플리케이션의 실행 화면 내에 표시된 콘텐츠, 및 콘텐츠에 대한 전자 장치(1000)의 후속 동작을 확인한 결과에 기초하여, "광고 건너뛰기", "메모장 실행", "공유하기", "캡쳐하기", 및 "이름 채우기" 등과 같은 상태 태그 정보를 획득할 수 있다.
구체적인 예를 들면, XXX 애플리케이션의 실행 화면 내에서 광고가 재생되고, "광고 건너뛰기" 아이콘이 표시된 경우, 사용자는 "광고 건너뛰기" 아이콘을 눌러서 광고의 재생을 생략할 수 있다. 이 경우, 전자 장치(1000)는 실행 화면에서 재생되었던 광고를 콘텐츠로 식별하고, "광고 건너뛰기" 아이콘을 UI 컴포넌트로 식별하고, "광고 건너뛰기" 아이콘을 선택하는 입력을 수신하는 동작을 콘텐츠에 대한 전자 장치(1000)의 후속 동작으로 식별할 수 있다. 전자 장치(1000)는 식별 결과에 기초하여, "XXX 애플리케이션의 실행 화면에서 광고가 재생되는 경우, 광고 건너뛰기를 실행한다"는 상태 정보를 획득할 수 있다. 또한, 전자 장치(1000)는 상태 정보를 나타내는 단어 또는 키워드를 포함하는 상태 태그 정보를 획득할 수 있다. 전자 장치(1000)는 "광고 건너뛰기"라는 상태 태그 정보를 획득할 수 있다.
단계 S340에서, 전자 장치(1000)는 적어도 하나의 UI 컴포넌트 및 상태 정보를 저장할 수 있다. 예를 들면, 전자 장치(1000)는 적어도 하나의 UI 컴포넌트를 나타내는 이미지, 적어도 하나의 UI 컴포넌트를 포함하는 이미지, 적어도 하나의 UI 컴포넌트와 관련된 콘텐츠의 정보, 적어도 하나의 UI 컴포넌트와 관련된 상태 정보, 적어도 하나의 UI 컴포넌트와 관련된 상태 태그 정보 등을 저장할 수 있다. 또한, 전자 장치(1000)는 적어도 하나의 UI 컴포넌트를 나타내는 정보와 적어도 하나의 UI 컴포넌트와 관련된 상태 정보를 매핑하여 저장할 수 있다.
한편, 전자 장치(1000)는, 전자 장치에서 실행되는 적어도 하나의 이벤트를 모니터링한 결과에 기초하여, 애플리케이션의 사용 패턴 정보를 획득할 수 있다. 예를 들면, 전자 장치(1000)는, 적어도 하나의 이벤트를 모니터링한 결과에 기초하여, 애플리케이션에서 사용 빈도가 높은 기능, 항목, 메뉴 중 적어도 하나를 사용 패턴으로 결정하고, 사용 패턴 정보를 획득할 수 있다. 전자 장치(1000)는, 사용 패턴 정보에 기초하여, 사용 패턴 정보에 대응하는 루틴을 생성할 수 있다.
도 4는 본 개시의 일실시예에 따라, UI 컴포넌트 및 상태 정보에 기초하여 루틴을 생성하는 과정을 설명하기 위한 도면이다.
전자 장치(1000)에서 소정 태스크를 수행하기 위해 둘 이상의 애플리케이션 간에 연속적인 동작이 요구될 수 있다. 전자 장치(1000)는 애플리케이션 각각의 루틴을 조합하여 복합 루틴을 생성할 수 있다. 예를 들면, 소정 태스크가 "XXX 애플리케이션에서 제공되는 콘텐츠를 YYY 애플리케이션의 특정 사용자의 계정으로 공유하기"일 수 있다. 전자 장치(1000)는 "XXX 애플리케이션에서 제공되는 콘텐츠를 YYY 애플리케이션으로 공유하기"의 제1 루틴과 "YYY 애플리케이션에서 콘텐츠를 특정 사용자의 계정으로 공유하기"의 제2 루틴을 조합하여, "XXX 애플리케이션에서 YYY 애플리케이션으로 공유하기"의 복합 루틴을 생성할 수 있다.
구체적으로, 도 4를 참고하면, 단계 S410에서, 전자 장치(1000)는 UI 컴포넌트들을 호출할 수 있다. 예를 들면, 전자 장치(1000)는, 복수의 애플리케이션들 각각에서 미리 설정된 루틴의 정보를 포함하는 리스트를 표시할 수 있다. 전자 장치(1000)는 리스트에 기초하여, 소정 태스크를 수행하기 위해 이용될 수 있는 루틴들을 선택하는 입력을 수신할 수 있다. 전자 장치(1000)는 선택된 루틴들에 대응하는 UI 컴포넌트들을 호출할 수 있다.
예를 들면, 전자 장치(1000)는, 복수의 루틴들 중에서, "XXX 애플리케이션에서 제공되는 콘텐츠를 YYY 애플리케이션으로 공유하기"의 제1 루틴과 "YYY 애플리케이션에서 콘텐츠를 특정 사용자의 계정으로 공유하기"의 제2 루틴을 선택하는 입력을 수신할 수 있다. 전자 장치(1000)는 제1 루틴 및 제2 루틴에 대응하는 UI 컴포넌트들을 호출할 수 있다.
단계 S420에서, 전자 장치(1000)는 UI 컴포넌트들 및 상태 태그 정보를 표시할 수 있다. 예를 들면, 전자 장치(1000)는 선택된 루틴들에 대응하는 애플리케이션의 실행 화면 및 애플리케이션의 실행 화면에 대한 상태 태그 정보를 표시할 수 있다. 애플리케이션의 실행 화면에는, 소정 태스크를 수행하기 위해 이용되는 UI 컴포넌트가 포함될 수 있다.
예를 들면, 전자 장치(1000)는 "XXX 애플리케이션에서 제공되는 콘텐츠를 YYY 애플리케이션으로 공유하기"의 제1 루틴과 관련된 실행 화면(A), 실행 화면(B), 실행 화면(C)를 표시할 수 있다. 또한, 전자 장치(1000)는 실행 화면(A)의 상태 태그 정보(421), 실행 화면(B)의 상태 태그 정보(422), 실행 화면(C)의 상태 태그 정보(423)를 표시할 수 있다. 또한, 전자 장치(1000)는 "YYY 애플리케이션에서 콘텐츠를 특정 사용자의 계정으로 공유하기"의 제2 루틴과 관련된 실행 화면(D), 실행 화면(E)를 표시할 수 있다. 또한, 전자 장치(1000)는 실행 화면(D) 및 실행 화면(E)의 상태 태그 정보(424)를 표시할 수 있다.
단계 S430에서, 전자 장치(1000)는 UI 컴포넌트 및 상태 태그 정보에 기초하여, 루틴을 생성할 수 있다. 예를 들면, 전자 장치(1000)는, 소정 태스크를 수행하기 위해, 조건 이벤트에 대응하는 전자 장치(1000)의 동작을 결정하고, 결과 이벤트에 대응하는 전자 장치(1000)의 동작을 결정할 수 있다. 전자 장치(1000)는 조건 이벤트에 대응하는 UI 컴포넌트 및 상태 태그 정보를 결정할 수 있다. 전자 장치(1000)는 결과 이벤트에 대응하는 UI 컴포넌트 및 상태 태그 정보를 결정할 수 있다. 전자 장치(1000)는 조건 이벤트에 대응하는 루틴과 결과 이벤트에 대응하는 루틴을 조합하여 복합 루틴을 생성할 수 있다.
또한, 전자 장치(1000)는 애플리케이션의 실행 화면에 대한 상태 태그 정보를 수정하는 입력을 수신할 수 있다. 전자 장치(1000)는 수정된 상태 태그 정보에 기초하여, 루틴을 생성할 수 있다.
예를 들면, 전자 장치(1000)는, 실행 화면(A), 실행 화면(B), 실행 화면(C)에 따른 전자 장치(1000)의 동작을 조건 이벤트(431)로 결정하고, 조건 이벤트(431)에 대응하는 상태 태그 정보(432)를 생성할 수 있다. 또한, 전자 장치(1000)는 실행 화면(D) 및 실행 화면(E)에 따른 전자 장치(1000)의 동작을 결과 이벤트(433)로 결정하고, 결과 이벤트(433)에 대응하는 상태 태그 정보(434)를 생성할 수 있다. 전자 장치(1000)는 조건 이벤트(431)에 대응하는 루틴과 결과 이벤트(433)에 대응하는 루틴을 조합함으로써, "XXX 애플리케이션에서 YYY 애플리케이션으로 공유하기"의 복합 루틴을 생성할 수 있다.
도 5는 본 개시의 일실시예에 따라, 제1 애플리케이션의 루틴을 설명하기 위한 도면이다.
예를 들면, 전자 장치(1000)는 사용자가 애플리케이션에서 자주 사용하는 기능, 메뉴 등을 루틴으로 설정할 수 있다. 예를 들면, 전자 장치(1000)는 애플리케이션의 동작을 모니터링 한 결과에 기초하여, 사용자에 대한 애플리케이션의 사용 패턴 정보를 획득할 수 있다. 예를 들면, 사용자에 대한 애플리케이션의 사용 패턴 정보는, 애플리케이션에서 사용자가 자주 사용하는 기능, 메뉴 등의 사용 패턴, 또는, 애플리케이션에서 다른 애플리케이션과 자주 연동하여 사용하는 기능의 사용 패턴을 나타내는 정보일 수 있다. 전자 장치(1000)는, 사용자에 대한 애플리케이션의 사용 패턴 정보에 기초하여, 사용 패턴에 대응하는 루틴을 생성할 수 있다.
구체적으로, 전자 장치(1000)는 루틴의 실행 조건을 충족시키는 조건 이벤트 및 루틴의 실행 결과를 나타내는 결과 이벤트의 정보를 획득할 수 있다. 전자 장치(1000)는, 루틴의 실행 조건을 충족시키는 조건 이벤트에 대응하는 실행 화면 및 실행 결과를 나타내는 결과 이벤트에 대응하는 실행 화면을 획득할 수 있다. 전자 장치(1000)는 조건 이벤트에 대응하는 실행 화면에서 제공되는 콘텐츠, 및 조건 이벤트에 대응하는 실행 화면에서 제공되는 UI 컴포넌트 간의 상관 관계를 나타내는 관계 정보를 획득할 수 있다. 전자 장치(1000)는, 관계 정보에 기초하여, 조건 이벤트에 대응하는 상태 정보를 획득할 수 있다. 전자 장치(1000)는 조건 이벤트와 조건 이벤트에 대응하는 상태 태그 정보를 매핑하여 저장할 수 있다. 또한, 전자 장치(1000)는 결과 이벤트에 대응하는 실행 화면에서 제공되는 콘텐츠, 및 결과 이벤트에 대응하는 실행 화면에서 제공되는 UI 컴포넌트 간의 상관 관계를 나타내는 관계 정보를 획득할 수 있다. 전자 장치(1000)는, 관계 정보에 기초하여, 결과 이벤트에 대응하는 상태 정보를 획득할 수 있다. 전자 장치(1000)는 결과 이벤트와 결과 이벤트에 대응하는 상태 태그 정보를 매핑하여 저장할 수 있다. 전자 장치(1000)는, 조건 이벤트에 매칭되는 이벤트가 전자 장치(1000)에서 검출되면, 결과 이벤트에 매칭되는 이벤트가 전자 장치(1000)에서 실행되는 루틴을 생성할 수 있다.
도 5를 참고하면, 전자 장치(1000)는, XXX 애플리케이션의 실행 화면을 모니터링 한 결과에 기초하여, 해산물의 음식에 대한 콘텐츠에서 "좋아요"를 누르는 동작의 정보를 제1 사용 패턴 정보로 획득할 수 있다. 전자 장치(1000)는 제1 사용 패턴 정보에 기초하여, XXX 애플리케이션에서 해산물의 음식에 대한 콘텐츠가 표시되는 이벤트를 조건 이벤트(510)로 결정할 수 있다. 또한, 전자 장치(1000)는 제1 사용 패턴 정보에 기초하여, "좋아요"를 누르는 이벤트를 결과 이벤트(520)로 결정할 수 있다.
전자 장치(1000)는, XXX 애플리케이션에서 해산물의 음식에 대한 콘텐츠를 제공하는 적어도 하나의 실행 화면 및 적어도 하나의 실행 화면에서 사용자의 입력 정보를 수신한 UI 컴포넌트에 기초하여, 조건 이벤트(510)에 대응하는 조건 상태 태그 정보(515)를 획득할 수 있다. 예를 들면, XXX 애플리케이션, SNS, 앱, 사용자 앱 등이 전자 장치(1000)에서 XXX 애플리케이션을 실행하는 이벤트에 대한 상태 태그로 획득될 수 있다. 또한, 사진, 제주도, 회, 곡물, 해산물, 횟집, 여행, 3대 맛집 등이 해산물의 음식에 대한 콘텐츠를 제공하는 이벤트에 대한 상태 태그로 획득될 수 있다.
전자 장치(1000)는, "좋아요"를 누르는 동작에 대응하는 적어도 하나의 실행 화면에 기초하여, 결과 이벤트(520)에 대응하는 결과 상태 태그 정보(525)를 획득할 수 있다. 예를 들면, 아이콘, 좋아요, 엄지척 등이 "좋아요"를 누르는 이벤트에 대한 상태 태그로 획득될 수 있다.
전자 장치(1000)는, XXX 애플리케이션에서 해산물의 음식에 대한 콘텐츠를 제공하는 이벤트가 전자 장치(1000)에서 검출되면, "좋아요"를 누르는 이벤트가 실행되는 루틴을 생성할 수 있다.
전자 장치(1000)에서 루틴이 생성되고, 루틴의 실행 조건을 충족시키는 조건 이벤트가 검출되면, 전자 장치(1000)는 루틴의 실행 결과를 나타내는 결과 이벤트를 실행할 수 있다.
도 6은 본 개시의 일실시예에 따라, 전자 장치(1000)에서 제1 애플리케이션과 다른 제2 애플리케이션이 실행됨에 따라, 전자 장치(1000)에서 발생되는 이벤트를 모니터링한 결과에 기초하여, 전자 장치(1000)의 정보 및 상태 태그 정보를 생성하는 과정을 설명하기 위한 도면이다.
전자 장치(1000)는, 제2 애플리케이션의 실행 화면을 모니터링 한 결과에 기초하여, 전자 장치(1000)의 정보 및 전자 장치(1000)의 정보에 대응하는 상태 태그 정보를 획득할 수 있다.
예를 들면, 전자 장치(1000)는, 제2 애플리케이션의 실행 화면을 모니터링 한 결과에 기초하여, 제2 애플리케이션에서 사용자가 자주 사용하는 기능의 정보를 포함하는, 제2 애플리케이션의 사용 패턴 정보를 획득할 수 있다. 예를 들면, 미리 설정된 시간 동안 소정 기능을 미리 설정된 횟수 이상 사용한 경우에 소정 기능은 사용자가 자주 사용하는 기능으로 판단될 수 있다. 예를 들면, 제2 애플리케이션의 사용 패턴 정보는, 전자 장치(1000)의 정보 및 전자 장치(1000)의 정보에 대응하는 상태 태그 정보를 포함할 수 있다. 전자 장치(1000)의 정보는, 전자 장치(1000)에서 발생되는 이벤트에 대한 정보를 나타낼 수 있다.
도 6을 참고하면, 전자 장치(1000)는 YYY 애플리케이션의 실행 화면을 모니터링 한 결과에 기초하여, 해산물의 음식에 대한 콘텐츠에서 "좋아요"를 누르는 동작의 정보를 제2 사용 패턴 정보로 획득할 수 있다. 전자 장치(1000)는 제2 사용 패턴 정보에 기초하여, 복수의 이벤트의 정보 및 복수의 이벤트에 대한 상태 태그 정보를 획득할 수 있다.
예를 들면, 전자 장치(1000)는, YYY 애플리케이션을 실행하는 제1 이벤트(611), YYY 애플리케이션에서 해산물의 음식에 대한 콘텐츠를 제공하는 제2 이벤트(621), 및 "좋아요"를 누르는 제3 이벤트(631)의 정보를 획득할 수 있다.
예를 들면, YYY 애플리케이션, SNS, 앱, 사용자 앱 등이 제1 이벤트(611)에 대한 상태 태그(612)로 획득될 수 있다. 또한, 사진, 제주도, 낙지, 조개, 해산물, 맛집, 여행, 애월 등이 제2 이벤트(621)에 대한 상태 태그(622)로 획득될 수 있다. 또한, 아이콘, 좋아요, 하트 등이 제3 이벤트(631)에 대한 상태 태그(633)로 획득될 수 있다.
도 7은 본 개시의 일실시예에 따라, 제1 애플리케이션의 루틴에 기초하여, 제2 애플리케이션의 루틴을 생성하는 과정을 설명하기 위한 도면이다.
도 7의 블록(710)을 참고하면, 도 5에서 설명했던 바와 같이, 전자 장치(1000)는, XXX 애플리케이션에서 해산물의 음식에 대한 콘텐츠를 제공하는 이벤트가 전자 장치(1000)에서 검출되면, "좋아요"를 누르는 이벤트가 실행되는 루틴을 생성할 수 있다. 전자 장치(1000)는, 생성된 루틴을 XXX 애플리케이션의 제1 루틴으로 설정할 수 있다.
도 7의 블록(720)을 참고하면, 전자 장치(1000)는, YYY 애플리케이션의 모니터링 정보를 획득할 수 있다. 구체적으로, 도 6에서 설명했던 바와 같이, 전자 장치(1000)는, YYY 애플리케이션의 실행 화면을 모니터링 한 결과에 기초하여, 해산물의 음식에 대한 콘텐츠에서 "좋아요"를 누르는 동작에 대한 이벤트의 정보 및 상태 태그 정보를 획득할 수 있다.
도 7의 블록(730)을 참고하면, 전자 장치(1000)는, XXX 애플리케이션의 제1 루틴에 대한 전자 장치(1000)의 동작과 YYY 애플리케이션의 모니터링 정보로부터 획득된 전자 장치(1000)의 동작을 비교할 수 있다. 전자 장치(1000)는, 비교 결과에 기초하여, YYY 애플리케이션에 대한 전자 장치(1000)의 동작과 XXX 애플리케이션의 제1 루틴에 대한 전자 장치(1000)의 동작의 유사성을 검증할 수 있다.
예를 들면, 전자 장치(1000)는, XXX 애플리케이션과 YYY 애플리케이션 간에 유사성을 확인할 수 있다. 전자 장치(1000)는, 애플리케이션의 타입, 애플리케이션의 기능, 애플리케이션에서 제공하는 서비스 중 적어도 하나를 비교한 결과에 기초하여, 애플리케이션들 간의 유사성을 검증할 수 있다. 예를 들면, XXX 애플리케이션과 YYY 애플리케이션이 SNS이면, 전자 장치(1000)는 XXX 애플리케이션과 YYY 애플리케이션 간에 유사성을 인정할 수 있다.
XXX 애플리케이션과 YYY 애플리케이션 간에 유사성이 인정되면, 전자 장치(1000)는, 제1 루틴에 대한 전자 장치(1000)의 동작과 YYY 애플리케이션의 모니터링 정보로부터 획득된 전자 장치(1000)의 동작 간의 유사성을 검증할 수 있다. 예를 들면, 전자 장치(1000)는, 제1 루틴에 대한 상태 태그 정보와 모니터링 정보에 대한 상태 태그 정보 간의 유사성을 검증할 수 있다.
예를 들면, 제1 루틴에 대한 상태 태그 정보는, 조건 이벤트(510)에 대응하는 조건 상태 태그 정보(515), 및 결과 이벤트(520)에 대응하는 결과 상태 태그 정보(525)일 수 있다. 또한, 모니터링 정보에 대한 상태 태그 정보는, 제1 이벤트(611)에 대한 상태 태그(612), 제2 이벤트(621)에 대한 상태 태그(622), 및 제3 이벤트(631)에 대한 상태 태그(633)를 포함하는 상태 태그 정보일 수 있다.
예를 들면, 전자 장치(1000)는, 상태 태그 정보에 포함된 텍스트, 이미지에 기초하여, 제1 루틴에 대한 상태 태그 정보와 모니터링 정보에 대한 상태 태그 정보 간의 유사성을 검증할 수 있다.
예를 들면, 상태 태그 정보에 포함된 텍스트의 정보들 간의 중복도가 소정 기준을 충족시키거나, 상태 태그 정보에 포함된 이미지가 나타내는 정보들 간의 중복도가 소정 기준을 충족시키면, 전자 장치(1000)는, 제1 루틴에 대한 상태 태그 정보와 모니터링 정보에 대한 상태 태그 정보 간의 유사성을 인정할 수 있다. 예를 들면, 소정 기준은, 수치를 나타내는 확률로 표현될 수 있다.
한편, 상태 태그 정보에 포함된 텍스트의 정보들 간의 중복도는, 상태 태그 정보에 포함된 단어, 키워드, 문구, 문장에 대한 일치율, 텍스트가 나타내는 의미의 유사율에 기초하여 결정될 수 있다. 예를 들면, 상태 태그 정보에 포함된 이미지가 나타내는 정보들 간의 중복도는, 이미지가 나타내는 의미의 유사율에 기초하여 결정될 수 있다. 예를 들면, "좋아요"가 표시된 이미지와 "하트"가 표시된 이미지는 긍정의 의미를 나타내는 것으로, 유사하다고 판단될 수 있다.
구체적으로, 전자 장치(1000)는, 조건 이벤트(510)에 대응하는 조건 상태 태그 정보(515)와 제1 이벤트(611)에 대한 상태 태그(612), 제2 이벤트(621)에 대한 상태 태그(622)를 포함하는 상태 태그 정보를 비교한 결과, 12개의 상태 태그 중 7개의 상태 태그(SNS, 앱, 사용자 앱, 사진, 제주도, 해산물, 여행)가 일치하고, 12개의 상태 태그 중 5개의 상태 태그(YYY 애플리케이션, 낙지, 조개, 맛집, 애월)가 유사하다고 판단할 수 있다.
또한, 전자 장치(1000)는, 결과 이벤트(520)에 대응하는 결과 상태 태그 정보(525)와 제3 이벤트(631)에 대한 상태 태그(633)를 포함하는 상태 태그 정보를 비교한 결과, 3개의 상태 태그 중 2개의 상태 태그(아이콘, 좋아요)가 일치하고, 3개의 상태 태그 중 1개의 상태 태그(하트)가 유사하다고 판단할 수 있다.
예를 들면, 전자 장치(1000)는, 단어들 또는 문장들 간에 유사한 의미를 갖는지 판단하는 자연어 처리 모델을 이용하여, 상태 태그 정보의 유사성을 검증할 수 있다. 예를 들면, 자연어 처리 모델은, 단어를 3차원 공간 상에 배치하여 단어에 대한 벡터를 산출할 수 있다. 자연어 처리 모델은, 복수의 단어들에 대한 벡터를 산출할 수 있다. 자연어 처리 모델은, 복수의 단어들 중에서 유사한 의미를 갖는 단어들의 벡터에 기초하여, 유사한 의미를 갖는 단어들을 학습할 수 있다. 자연어 처리 모델은, 유사한 의미를 갖는 단어들을 학습한 결과, 소정 단어들 간의 유사성을 판단할 수 있다. 단어들 간에 유사성이 높을수록, 유사도의 값은 높게 나올 수 있다.
전자 장치(1000)는, 자연어 처리 모델에 기초하여, 조건 이벤트(510)에 대응하는 조건 상태 태그 정보(515)와 제1 이벤트(611)에 대한 상태 태그(612), 제2 이벤트(621)에 대한 상태 태그(622)를 포함하는 상태 태그 정보 간의 유사도가 높다고 판단할 수 있다. 또한, 전자 장치(1000)는, 자연어 처리 모델에 기초하여, 결과 이벤트(520)에 대응하는 결과 상태 태그 정보(525)와 제3 이벤트(631)에 대한 상태 태그(633)를 포함하는 상태 태그 정보 간의 유사도가 높다고 판단할 수 있다. 전자 장치(1000)는, YYY 애플리케이션에 대한 전자 장치(1000)의 동작과 XXX 애플리케이션의 제1 루틴에 대한 전자 장치(1000)의 동작 간에 유사성을 확인할 수 있다.
도 7의 블록(740)을 참고하면, 전자 장치(1000)는, XXX 애플리케이션의 제1 루틴에 기초하여, YYY 애플리케이션의 루틴을 생성할 수 있다. 전자 장치(1000)는 조건 이벤트(510)에 대응하는 조건 상태 태그 정보(515)에 기초하여, YYY 애플리케이션에 대한 조건 이벤트 및 조건 상태 태그 정보를 생성할 수 있다. 또한, 전자 장치(1000)는, 결과 이벤트(520)에 대응하는 결과 상태 태그 정보(525)에 기초하여, YYY 애플리케이션에 대한 결과 이벤트 및 결과 상태 태그 정보를 생성할 수 있다. 전자 장치(1000)는, 생성된 조건 이벤트 및 결과 이벤트에 기초하여, YYY 애플리케이션에서 해산물의 음식에 대한 콘텐츠를 제공하는 이벤트가 전자 장치(1000)에서 검출되면, "좋아요"를 누르는 이벤트가 실행되는 루틴을 생성할 수 있다. 도 8에서, YYY 애플리케이션의 루틴을 생성하는 과정을 설명한다.
한편, 서버는, 전자 장치(1000)로부터, XXX 애플리케이션의 제1 루틴의 정보, 및 YYY 애플리케이션의 모니터링 정보를 획득할 수 있다. 서버는, 블록(730) 및 블록(740)에서 설명한 전자 장치(1000)의 동작을 동일하게 수행할 수 있다.
도 8은 본 개시의 일실시예에 따라, 제2 애플리케이션의 루틴을 설명하기 위한 도면이다.
전자 장치(1000)는, YYY 애플리케이션의 모니터링 정보에 대한 상태 태그 정보 중에서, XXX 애플리케이션의 제1 루틴의 조건 이벤트(510)에 대응하는 조건 상태 태그 정보(515)와 대응하는 상태 태그 정보를 획득할 수 있다. 도 6 및 도 7에서 설명했던 바와 같이, 전자 장치(1000)는, 제1 이벤트(611)에 대한 상태 태그(612) 및 제2 이벤트(621)에 대한 상태 태그(622)를 포함하는 상태 태그 정보가 제1 루틴의 조건 이벤트(510)에 대응하는 조건 상태 태그 정보(515)와 매칭되는 것으로 판단할 수 있다. 전자 장치(1000)는 제1 이벤트(611) 및 제2 이벤트(621)를 조건 이벤트(810)로 결정할 수 있다. 전자 장치(1000)는, 제1 이벤트(611)에 대한 상태 태그(612), 제2 이벤트(621)에 대한 상태 태그(622)를 포함하는 상태 태그 정보를 조건 이벤트(810)의 조건 상태 태그 정보(815)로 결정할 수 있다.
전자 장치(1000)는, YYY 애플리케이션의 모니터링 정보에 대한 상태 태그 정보 중에서, XXX 애플리케이션의 제1 루틴의 결과 이벤트(520)에 대응하는 결과 상태 태그 정보(525)와 대응하는 상태 태그 정보를 획득할 수 있다. 도 6 및 도 7에서 설명했던 바와 같이, 전자 장치(1000)는, 제3 이벤트(631)에 대한 상태 태그(633)를 포함하는 상태 태그 정보가 제1 루틴의 결과 이벤트(520)에 대응하는 결과 상태 태그 정보(525)와 매칭되는 것으로 판단할 수 있다. 전자 장치(1000)는 제3 이벤트(631)를 결과 이벤트(820)로 결정할 수 있다. 전자 장치(1000)는, 제3 이벤트(631)에 대한 상태 태그(633)를 포함하는 상태 태그 정보를 결과 이벤트(820)의 결과 상태 태그 정보(825)로 결정할 수 있다.
전자 장치(1000)는, 생성된 조건 이벤트(810) 및 결과 이벤트(820)에 기초하여, YYY 애플리케이션에서 해산물의 음식에 대한 콘텐츠를 제공하는 이벤트가 전자 장치(1000)에서 검출되면, "좋아요"를 누르는 이벤트가 실행되는 제2 루틴을 생성할 수 있다.
도 9는 본 개시의 일실시예에 따라, 전자 장치(1000)에서 광고 건너뛰기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
예를 들면, 전자 장치(1000)에는, 광고 건너뛰기를 수행하기 위한 루틴(이하, 광고 건너뛰기 루틴)이 설정되어 있을 수 있다. 광고 건너뛰기 루틴은, 전자 장치(1000)의 실행 화면에서 광고가 재생되면, 광고가 종료될 때까지 재생하지 않고 건너뛰는 동작에 대한 루틴일 수 있다.
도 9의 이미지(910)을 참고하면, 전자 장치(1000)에서 제1 애플리케이션이 실행되고, 제1 애플리케이션의 실행 화면에서 광고가 재생될 수 있다. 광고가 재생되는 동안, 제1 애플리케이션의 실행 화면에는 광고 건너뛰기 아이콘(911)이 표시될 수 있다.
전자 장치(1000)는, 제1 애플리케이션의 실행 화면에 표시된 광고 및 광고 건너뛰기 아이콘(911)을 식별하고, 제1 애플리케이션의 제1 상태 정보를 획득할 수 있다. 전자 장치(1000)는, 제1 애플리케이션의 실행 화면에는 광고가 재생되고, 광고 건너뛰기 아이콘(911)이 제공되는 상태를 나타내는 제1 상태 정보를 획득할 수 있다. 전자 장치(1000)는 제1 상태 정보의 제1 상태 태그 정보를 획득할 수 있다. 예를 들면, 제1 상태 태그 정보는, 제1 애플리케이션, 광고, 광고 건너뛰기를 포함하는 상태 태그의 정보일 수 있다.
전자 장치(1000)는 복수의 루틴들 중에서, 제1 상태 정보와 매칭되는 상태 정보를 갖는 광고 건너뛰기 루틴을 검출할 수 있다. 예를 들면, 전자 장치(1000)는, 제1 애플리케이션의 실행 화면에 대한 제1 상태 태그 정보가 광고 건너뛰기 루틴의 상태 태그 정보와 유사한지 판단할 수 있다.
제1 상태 태그 정보가 광고 건너뛰기 루틴의 상태 태그 정보와 유사하면, 도 9의 이미지(920)에 도시된 바와 같이, 전자 장치(1000)는, 광고 건너뛰기 루틴을 실행할 것인지 문의하는 메시지(921)를 표시할 수 있다. 예를 들면, 메시지(921)에는, 제1 상태 태그 정보와 광고 건너뛰기 루틴의 상태 태그 정보 간의 일치율을 나타내는 정보가 포함될 수 있다. 예를 들면, 일치율은, 제1 상태 태그 정보와 광고 건너뛰기 루틴의 실행 조건을 충족시키는 조건 이벤트의 상태 태그 정보 간의 일치율을 나타낼 수 있다. 전자 장치(1000)는 메시지(921)에 기초하여, 광고 건너뛰기 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 9의 이미지(930)를 참고하면, 광고 건너뛰기 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는, 광고 건너뛰기 루틴을 실행할 수 있다. 전자 장치(1000)는, 제1 애플리케이션의 실행 화면에 표시된 광고 건너뛰기 아이콘(911)을 누르는 동작(931)을 자동으로 실행할 수 있다.
한편, 광고 건너뛰기의 루틴은, 광고가 재생되는 애플리케이션, 광고의 종류, 내용 등에 따라 실행 여부가 달라질 수 있다. 예를 들면, 광고 건너뛰기의 루틴은 제1 애플리케이션에서 동작되도록 설정될 수 있다. 제1 애플리케이션이 실행되는 동안, 제1 애플리케이션의 실행 화면에서 광고가 재생되는 경우, 전자 장치(1000)는, 광고 건너뛰기의 루틴을 자동으로 실행할 수 있다. 또한, 제2 애플리케이션이 실행되는 동안, 제2 애플리케이션의 실행 화면에서 광고가 재생되는 경우, 전자 장치(1000)는, 광고 건너뛰기의 루틴을 실행할 것인지 문의하는 메시지를 표시할 수 있다. 광고 건너뛰기의 루틴을 실행한다는 입력이 수신되면, 전자 장치(1000)는 광고 건너뛰기의 루틴의 적용 대상 범위를 제2 애플리케이션도 포함되도록 수정하거나, 제2 애플리케이션에 대한 광고 건너뛰기의 루틴을 생성할 수 있다.
예를 들면, 광고 건너뛰기의 루틴은, 화장품 광고가 재생될 때 동작되도록 설정될 수 있다. 제1 애플리케이션이 실행되는 동안, 제1 애플리케이션의 실행 화면에서 자동차 광고가 재생되는 경우, 전자 장치(1000)는, 광고 건너뛰기의 루틴을 실행하지 않을 수 있다. 반면에, 제1 애플리케이션이 실행되는 동안, 제1 애플리케이션의 실행 화면에서 향수 광고가 재생되는 경우, 전자 장치(1000)는, 화장품 광고와 향수 광고가 유사하다고 결정하고, 광고 건너뛰기의 루틴을 실행할 것인지 문의하는 메시지를 표시할 수 있다. 광고 건너뛰기의 루틴을 실행한다는 입력이 수신되면, 전자 장치(1000)는 광고 건너뛰기의 루틴의 적용 대상 범위를 향수 광고도 포함되도록 수정하거나, 제1 애플리케이션에 대한 향수 광고 건너뛰기의 루틴을 생성할 수 있다.
도 10은 본 개시의 일실시예에 따라, 전자 장치(1000)에서 이름 채우기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 10의 이미지(1010)을 참고하면, 전자 장치(1000)에서 ABC 항공 애플리케이션이 실행되고, ABC 항공 애플리케이션의 실행 화면에서 체크인 정보를 입력하는 입력란이 제공될 수 있다. 체크인 정보를 입력하는 입력란에는, 승객의 성 채우기 입력란(1011), 승객의 이름 채우기 입력란(1012)이 포함될 수 있다. ABC 항공 애플리케이션에 대해서, 이름 채우기를 수행하기 위한 루틴(이하, 이름 채우기 루틴)이 설정되어 있을 수 있다. 이름 채우기 루틴은, ABC 항공 애플리케이션의 실행 화면에서 승객의 성과 이름을 채우는 요청이 있으면, 성과 이름을 자동으로 기록하는 동작에 대한 루틴일 수 있다.
전자 장치(1000)는, ABC 항공 애플리케이션의 실행 화면을 식별한 결과, 체크인 정보를 요청하는 상태를 나타내는 제2 상태 정보를 획득할 수 있다. 제2 상태 정보에는, 승객의 성과 이름 채우기를 요청하는 상태를 나타내는 정보도 포함될 수 있다. 전자 장치(1000)는, 승객의 이름, 성, 이름 입력하기, 이름 채우기 등의 상태 태그를 포함하는 제2 상태 태그 정보를 획득할 수 있다.
전자 장치(1000)는, 복수의 루틴들 중에서, 제2 상태 정보와 매칭되는 상태 정보를 갖는 이름 채우기 루틴을 검출할 수 있다. 예를 들면, 전자 장치(1000)는, ABC 항공 애플리케이션의 실행 화면에 대한 제2 상태 태그 정보가 이름 채우기 루틴의 상태 태그 정보와 유사한지 판단할 수 있다.
ABC 항공 애플리케이션의 실행 화면에 대한 제2 상태 태그 정보와 이름 채우기 루틴의 상태 태그 정보가 유사하면, 도 10의 이미지(1020)에 도시된 바와 같이, 전자 장치(1000)는, 이름 채우기 루틴을 실행할 것인지 문의하는 메시지(1021)를 표시할 수 있다. 예를 들면, 메시지(1021)에는, 제2 상태 태그 정보와 이름 채우기 루틴의 상태 태그 정보 간의 일치율을 나타내는 정보가 포함될 수 있다. 예를 들면, 일치율은 99%일 수 있다. 전자 장치(1000)는, 메시지(1021)에 기초하여, 이름 채우기 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 10의 이미지(1030)을 참고하면, 이름 채우기 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는, 이름 채우기 루틴을 실행할 수 있다. 전자 장치(1000)는, ABC 항공 애플리케이션의 실행 화면에 표시된 승객의 성 채우기 입력란(1011)에 사용자의 성을 기록하는 동작(1031), 및 승객의 이름 채우기 입력란(1012)에 사용자의 이름을 기록하는 동작(1032)을 자동으로 실행할 수 있다.
도 11은 본 개시의 다른 실시예에 따라, 전자 장치(1000)에서 이름 채우기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 11의 이미지(1110)을 참고하면, 전자 장치(1000)에서 ABC 교육 애플리케이션이 실행되고, ABC 교육 애플리케이션의 실행 화면에서 교육 참가 신청서의 정보를 입력하는 입력란이 제공될 수 있다. 교육 참가 신청서의 정보를 입력하는 입력란에는, 예약자명을 채우는 예약자명 입력란(1111)이 포함될 수 있다.
전자 장치(1000)는, ABC 교육 애플리케이션의 실행 화면을 식별한 결과, 교육 참가 신청서의 정보를 요청하는 상태를 나타내는 제3 상태 정보를 획득할 수 있다. 제3 상태 정보에는, 교육에 참가 신청하는 예약자의 이름 채우기를 요청하는 상태를 나타내는 정보도 포함될 수 있다. 전자 장치(1000)는, 예약자의 이름, 이름 입력하기, 이름 채우기 등의 상태 정보를 포함하는 제3 상태 태그 정보를 획득할 수 있다.
전자 장치(1000)는, 복수의 루틴들 중에서, 제3 상태 정보와 매칭되는 상태 정보를 갖는 루틴을 검출할 수 있다. 구체적인 예를 들면, 전자 장치(1000)는, ABC 교육 애플리케이션의 실행 화면에서 입력하는 정보들을 확인할 수 있다. 도 11의 이미지(1110)을 참고하면, 입력하는 정보들은, 예약자명, 소속, 휴대전화, 이메일에 대한 정보일 수 있다. 전자 장치(1000)는, 복수의 루틴들 중에서, 교육 참가 신청서에서 소정 정보를 입력하는 상태를 나타내는 상태 정보와 매칭되는 상태 정보를 갖는 루틴이 있는지 확인할 수 있다. 또한, 전자 장치(1000)는, 복수의 루틴들 중에서, 예약자명, 소속, 휴대전화, 이메일에 대한 정보를 입력하는 상태를 나타내는 상태 정보와 매칭되는 상태 정보를 갖는 루틴이 있는지 확인할 수 있다.
예를 들면, 전자 장치(1000)는, ABC 교육 애플리케이션의 실행 화면의 상태 정보와 복수의 루틴들의 상태 정보를 확인한 결과, 소속, 휴대전화, 이메일에 대한 정보 채우기와 매칭되는 루틴은 없고, 예약자명에 대한 정보 채우기와 매칭되는 루틴이 있음을 확인할 수 있다. 예약자명에 대한 정보 채우기와 매칭되는 루틴은, ABC 항공 애플리케이션의 이름 채우기 루틴일 수 있다.
이 경우, ABC 교육 애플리케이션의 실행 화면과 ABC 항공 애플리케이션의 실행 화면은 서로 다르고, 예약자명을 채우는 입력란(1111)과 승객의 성 채우기 입력란(1011), 승객의 이름 채우기 입력란(1012)의 형태도 서로 다르기 때문에, ABC 교육 애플리케이션의 실행 화면의 상태 정보와 ABC 항공 애플리케이션의 실행 화면의 상태 정보 간의 일치율은 66%일 수 있다. 예를 들면, 일치율이 50%이상이면, 검출된 루틴을 실행할 것인지 문의하는 동작이 설정될 수 있다.
도 11의 이미지(1120)에 도시된 바와 같이, 전자 장치(1000)는, 이름 채우기 루틴을 실행할 것인지 문의하는 메시지(1121)를 표시할 수 있다. 전자 장치(1000)는, 메시지(1121)에 기초하여, 이름 채우기 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 11의 이미지(1130)을 참고하면, 이름 채우기 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는, ABC 교육 애플리케이션의 실행 화면의 상태 정보 및 ABC 항공 애플리케이션의 이름 채우기 루틴에 기초하여, 예약자명을 채우기 위한 예약자명 채우기 루틴을 생성할 수 있다.
예를 들면, 전자 장치(1000)는, ABC 교육 애플리케이션에서 교육 참가 신성서의 작성을 요청하는 이벤트를 조건 이벤트로 설정하고, 교육 참가 신청서에서 예약자명을 채우는 이벤트를 결과 이벤트로 설정할 수 있다. 전자 장치(1000)는 조건 이벤트 및 결과 이벤트에 기초하여, ABC 교육 애플리케이션에서 교육 참가 신성서의 작성을 요청하는 이벤트가 검출되면, 예약자명을 자동으로 작성하는 이벤트가 실행되는 루틴을 생성할 수 있다.
도 12는 본 개시의 일실시예에 따라, 전자 장치(1000)에서 "맛집 좋아요" 누르기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 12의 이미지(1210)을 참고하면, 전자 장치(1000)에서 ZZZ 배달 애플리케이션이 실행되고, ZZZ 배달 애플리케이션의 실행 화면에서 우동 맛집을 포함하는 이미지가 표시될 수 있다. ZZZ 배달 애플리케이션의 실행 화면에는, "좋아요" 아이콘이 포함될 수 있다. ZZZ 배달 애플리케이션에 대해서, 맛집에서 사용자가 좋아하는 음식에 "좋아요"를 누르기를 수행하기 위한 루틴(이하, 맛집 좋아요 루틴)이 설정되어 있을 수 있다. 맛집 좋아요 루틴은, ZZZ 배달 애플리케이션의 실행 화면에서, 맛집으로 인식할 수 있는 정보가 표시되고, 사용자가 좋아하는 음식으로 미리 등록된 음식이 표시되면, "좋아요" 아이콘을 누르는 동작에 대한 루틴일 수 있다.
전자 장치(1000)는, ZZZ 배달 애플리케이션의 실행 화면을 식별한 결과, 맛집의 주문하기 메뉴에서 사용자가 좋아하는 우동을 표시하는 상태를 나타내는 제4 상태 정보를 획득할 수 있다. 제4 상태 정보에는, 맛집, 1위, 판매 1위, 인기, 핫메뉴, 우동 등의 상태 태그를 포함하는 제4 상태 태그 정보가 포함될 수 있다.
전자 장치(1000)는, 복수의 루틴들 중에서, 제4 상태 정보와 매칭되는 상태 정보를 갖는 맛집 좋아요 루틴을 검출할 수 있다. 예를 들면, 전자 장치(1000)는 ZZZ 배달 애플리케이션의 실행 화면에 대한 제4 상태 태그 정보가 맛집 좋아요 루틴의 상태 태그 정보와 유사한지 판단할 수 있다.
ZZZ 배달 애플리케이션의 실행 화면에 대한 제4 상태 태그 정보와 맛집 좋아요 루틴의 상태 태그 정보가 유사하면, 도 12의 이미지(1220)에 도시된 바와 같이, 전자 장치(1000)는, 맛집 좋아요 루틴을 실행할 것인지 문의하는 메시지(1221)를 표시할 수 있다. 예를 들면, 메시지(1221)에는, 제4 상태 태그 정보와 맛집 좋아요 루틴의 상태 태그 정보 간의 일치율을 나타내는 정보가 포함될 수 있다. 예를 들면, 일치율은 99%일 수 있다. 전자 장치(1000)는, 메시지(1221)에 기초하여, 맛집 좋아요 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 12의 이미지(1230)을 참고하면, 맛집 좋아요 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는, 맛집 좋아요 루틴을 실행할 수 있다. 전자 장치(1000)는, ZZZ 배달 애플리케이션의 실행 화면에 표시된 "좋아요" 아이콘을 누르는 동작(1231)을 자동으로 실행할 수 있다.
도 13은 본 개시의 다른 일실시예에 따라, 전자 장치(1000)에서 "맛집 좋아요" 누르기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 13의 이미지(1310)을 참고하면, 전자 장치(1000)에서 QQQ 블로그 애플리케이션이 실행되고, QQQ 블로그 애플리케이션의 실행 화면에서 제주 맛집으로 소개된 정보가 표시될 수 있다. QQQ 블로그 애플리케이션의 실행 화면에는, "좋아요" 아이콘, "리뷰 작성" 아이콘, "공유하기" 아이콘을 포함하는 아이콘들(1311) 및 "책갈피" 아이콘(1312)이 포함될 수 있다.
전자 장치(1000)는, QQQ 블로그 애플리케이션의 실행 화면을 식별한 결과, 제주도에서 해물탕 맛집을 소개하는 상태를 나타내는 제5 상태 정보를 획득할 수 있다. 제5 상태 정보에는, 제주도, 맛집, 해물탕, 인기, 좋아요, 리뷰 작성, 공유하기, 책갈피 등의 상태 태그를 포함하는 제5 상태 태그 정보가 포함될 수 있다. 여기서, 해물탕은, 사용자가 좋아하는 음식으로 미리 등록된 음식일 수 있다.
전자 장치(1000)는, 복수의 루틴들 중에서, 제5 상태 정보와 매칭되는 상태 정보를 갖는 루틴을 검출할 수 있다. 구체적인 예를 들면, 전자 장치(1000)는, 복수의 루틴들 중에서, 맛집에 대해 좋아요, 리뷰 작성, 공유하기를 남길 수 있고, 책갈피를 설정할 수 있는 상태를 나타내는 상태 정보와 매칭되는 상태 정보를 갖는 루틴이 있는지 확인할 수 있다.
예를 들면, 전자 장치(1000)는, QQQ 블로그 애플리케이션의 실행 화면의 상태 정보와 복수의 루틴들의 상태 정보를 확인한 결과, 리뷰 작성하기 루틴, 공유하기 루틴, 책갈피 설정하기와 매칭되는 루틴은 없고, 좋아요 누르기와 매칭되는 루틴이 있음을 확인할 수 있다. QQQ 블로그 애플리케이션에서 맛집 좋아요 누르기와 매칭되는 루틴은, ZZZ 배달 애플리케이션에서의 맛집 좋아요 루틴일 수 있다.
QQQ 블로그 애플리케이션와 ZZZ 배달 애플리케이션은, 애플리케이션의 종류, 서비스의 목적이 다를 수 있으나, 사용자들의 좋아요 서비스를 제공하는 점은 공통될 수 있다. 따라서, QQQ 블로그 애플리케이션의 실행 화면의 상태 정보와 ZZZ 배달 애플리케이션의 실행 화면의 상태 정보 간의 일치율은 70%일 수 있다. 예를 들면, 일치율이 50%이상이면, 검출된 루틴을 실행할 것인지 문의하는 동작이 설정될 수 있다.
도 13의 이미지(1320)에 도시된 바와 같이, 전자 장치(1000)는, 맛집 좋아요 루틴을 실행할 것인지 문의하는 메시지(1321)를 표시할 수 있다. 전자 장치(1000)는 메시지(1321)에 기초하여, 맛집 좋아요 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 13의 이미지(1330)을 참고하면, 맛집 좋아요 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는, QQQ 블로그 애플리케이션의 실행 화면의 상태 정보 및 ZZZ 배달 애플리케이션의 맛집 좋아요 루틴에 기초하여, QQQ 블로그 애플리케이션의 맛집 "좋아요"를 누르기 위한 맛집 좋아요 루틴을 생성할 수 있다.
예를 들면, 전자 장치(1000)는, QQQ 블로그 애플리케이션에서 사용자에 의해 미리 등록된 좋아하는 음식에 대한 게시글을 표시하는 이벤트를 조건 이벤트로 설정하고, 좋아하는 음식에 대한 게시글에 대해 "좋아요" 아이콘을 누르는 이벤트를 결과 이벤트로 설정할 수 있다. 전자 장치(1000)는, 조건 이벤트 및 결과 이벤트에 기초하여, QQQ 블로그 애플리케이션에서 좋아하는 음식에 대한 게시글이 표시되는 이벤트가 검출되면, 게시글에 자동으로 "좋아요" 아이콘을 누르는 이벤트가 실행되는 루틴을 생성할 수 있다. 전자 장치(1000)는, 생성된 루틴을 실행하여, 게시글에 자동으로 "좋아요" 아이콘을 누르는 동작을 수행할 수 있다.
도 14는 본 개시의 일실시예에 따라, 전자 장치(1000)에서 링크 저장하기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 14의 이미지(1410)을 참고하면, 전자 장치(1000)에서 NNN 애플리케이션이 실행되고, NNN 애플리케이션의 실행 화면에서 제1 소재에 대한 게시글이 표시될 수 있다. 또한, NNN 애플리케이션에 대해서, 제1 소재에 대한 게시글에 대해 글 링크 저장하기를 수행하기 위한 루틴(이하, 글 링크 저장하기 루틴)이 설정되어 있을 수 있다. 글 링크 저장하기 루틴은, NNN 애플리케이션의 실행 화면에서, 제1 소재에 대한 게시글이 표시되면, 제1 소재에 대한 게시글의 링크 저장하기에 대한 루틴일 수 있다.
전자 장치(1000)는, NNN 애플리케이션의 실행 화면을 식별한 결과, 제1 소재에 대한 텍스트 정보 및 이미지 정보를 포함하는 게시글이 표시된 상태를 나타내는 제6 상태 정보를 획득할 수 있다. 제6 상태 정보에는, 제1 소재에 관한 상태 태그를 포함하는 제6 상태 태그 정보가 포함될 수 있다. 또한, NNN 애플리케이션에서, 제1 소재에 대한 게시글의 링크를 저장한 횟수가 미리 설정된 횟수 이상일 수 있다. 전자 장치(1000)는, NNN 애플리케이션에서, 제1 소재에 대한 게시글의 링크를 저장하는 동작을 사용 패턴으로 획득할 수 있다.
전자 장치(1000)는, 제6 상태 정보 및 NNN 애플리케이션의 사용 패턴 정보에 기초하여, 복수의 루틴들 중에서, 제6 상태 정보와 매칭되는 상태 정보를 갖는 글 링크 저장하기 루틴을 검출할 수 있다. 예를 들면, 전자 장치(1000)는 NNN 애플리케이션의 실행 화면에 대한 제6 상태 태그 정보가 글 링크 저장하기 루틴의 상태 태그 정보와 유사한지 판단할 수 있다.
NNN 애플리케이션의 실행 화면에 대한 제6 상태 태그 정보와 글 링크 저장하기 루틴의 상태 태그 정보가 유사하면, 도 14의 이미지(1420)에 도시된 바와 같이, 전자 장치(1000)는, 글 링크 저장하기 루틴을 실행할 것인지 문의하는 메시지(1421)를 표시할 수 있다. 예를 들면, 메시지(1421)에는, 제6 상태 태그 정보와 글 링크 저장하기 루틴의 상태 태그 정보 간의 일치율을 나타내는 정보가 포함될 수 있다. 예를 들면, 일치율은 89%일 수 있다. 전자 장치(1000)는, 메시지(1421)에 기초하여, 글 링크 저장하기 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 14의 이미지(1430)을 참고하면, 글 링크 저장하기 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는 글 링크 저장하기 루틴을 실행할 수 있다. 전자 장치(1000)는, 제1 소재에 대한 게시글의 링크를 저장하고, 저장된 결과를 표시하는 동작(1431)을 자동으로 실행할 수 있다.
도 15는 본 개시의 다른 일실시예에 따라, 전자 장치(1000)에서 링크 저장하기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 15의 이미지(1510)을 참고하면, 전자 장치(1000)에서 OOO 애플리케이션이 실행되고, OOO 애플리케이션의 실행 화면에서 제2 소재에 대한 게시글이 표시될 수 있다. OOO 애플리케이션에서는, 게시글에 대한 링크를 메모장의 애플리케이션에 저장하는 기능이 제공될 수 있다.
전자 장치(1000)는, OOO 애플리케이션의 실행 화면을 식별한 결과, 제2 소재에 대한 텍스트 정보 및 이미지 정보를 포함하는 게시글이 표시된 상태를 나타내는 제7 상태 정보를 획득할 수 있다. 제7 상태 정보에는, 제2 소재에 관한 상태 태그를 포함하는 제7 상태 태그 정보가 포함될 수 있다. 또한, OOO 애플리케이션에서, 제2 소재에 대한 게시글의 링크를 저장한 횟수가 미리 설정된 횟수 이상일 수 있다. 전자 장치(1000)는, OOO 애플리케이션에서, 제2 소재에 대한 게시글의 링크를 저장하는 동작을 사용 패턴으로 획득할 수 있다.
전자 장치(1000)는, 제7 상태 정보 및 OOO 애플리케이션의 사용 패턴 정보에 기초하여, 복수의 루틴들 중에서, 제7 상태 정보와 매칭되는 상태 정보를 갖는 NNN 애플리케이션의 글 링크 저장하기 루틴을 검출할 수 있다. 예를 들면, 전자 장치(1000)는, OOO 애플리케이션의 실행 화면에서 제7 상태 태그 정보가 NNN 애플리케이션의 글 링크 저장하기 루틴의 상태 태그 정보와 유사한지 판단할 수 있다. 또한, 전자 장치(1000)는 OOO 애플리케이션의 사용 패턴 정보가 NNN 애플리케이션의 사용 패턴 정보와 유사한지 판단할 수 있다.
예를 들면, 제2 소재와 제1 소재가 동일한 분야에 관한 소재이면, OOO 애플리케이션의 실행 화면에서 제7 상태 태그 정보와 NNN 애플리케이션의 글 링크 저장하기 루틴의 상태 태그 정보는 유사하다고 판단될 수 있다. 도 15의 이미지(1520)에 도시된 바와 같이, 전자 장치(1000)는, 글 링크 저장하기 루틴을 실행할 것인지 문의하는 메시지(1521)를 표시할 수 있다. 예를 들면, 메시지(1521)에는, 제7 상태 태그 정보와 NNN 애플리케이션의 글 링크 저장하기 루틴의 상태 태그 정보 간의 일치율을 나타내는 정보가 포함될 수 있다. 예를 들면, 일치율은 79%일 수 있다. 전자 장치(1000)는, 메시지(1521)에 기초하여, 글 링크 저장하기 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 15의 이미지(1530)을 참고하면, 글 링크 저장하기 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는, OOO 애플리케이션의 상태 정보 및 사용 패턴 정보에 기초하여, NNN 애플리케이션의 글 링크 저장하기 루틴과 대응하는 루틴을 생성할 수 있다. 예를 들면, 전자 장치(1000)는, 제2 소재에 대한 게시글이 표시되면, 제2 소재에 대한 게시글의 링크를 메모장의 애플리케이션에 저장하는 루틴을 생성할 수 있다. 전자 장치(1000)는, 생성된 루틴을 실행하여, 제2 소재에 대한 게시글의 링크를 메모장의 애플리케이션에 저장하는 동작을 수행할 수 있다.
도 16은 본 개시의 일실시예에 따라, 전자 장치(1000)의 화면에 표시된 콘텐츠 및 UI 컴포넌트를 식별한 결과에 기초하여, 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행하는 전자 장치(1000)의 동작 방법을 나타내는 흐름도이다.
도 16을 참고하면, 단계 S1610에서, 전자 장치(1000)는, 제1 애플리케이션을 실행할 수 있다.
단계 S1620에서, 전자 장치(1000)는, 제1 애플리케이션의 제1 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별할 수 있다.
단계 S1630에서, 전자 장치(1000)는, 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 제1 실행 화면의 제1 상태 정보를 획득할 수 있다.
예를 들면, 전자 장치(1000)는, 제1 콘텐츠 및 제1 애플리케이션의 제1 실행 화면 내에서 적어도 하나의 UI 컴포넌트 중 사용자의 입력이 감지된 제1 UI 컴포넌트의 속성에 기초하여, 제1 콘텐츠와 제1 UI 컴포넌트 간의 상관 관계를 나타내는 관계 정보를 획득할 수 있다. 전자 장치(1000)는, 관계 정보에 기초하여, 제1 애플리케이션의 제1 실행 화면의 제1 상태 정보를 획득할 수 있다.
단계 S1640에서, 전자 장치(1000)는, 전자 장치(1000)의 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 제1 상태 정보에 기초하여, 제1 상태 정보에 대응하는 제1 태스크를 수행하기 위한 루틴을 획득할 수 있다.
예를 들면, 전자 장치(1000)는, 사용자에 대한 애플리케이션들의 사용 패턴 정보에 기초하여 미리 설정된 복수의 루틴들 중에서, 제1 상태 정보와 매칭되는 상태 정보를 갖는 제1 태스크의 수행 조건으로 충족시키는 제1 루틴을 검출할 수 있다.
예를 들면, 검출된 제1 루틴이 제1 애플리케이션과 다른 제2 애플리케이션에서 실행되는 루틴이면, 전자 장치(1000)는 제1 상태 정보 및 제1 루틴에 기초하여, 제1 태스크를 수행하기 위한 제2 루틴을 생성할 수 있다.
단계 S1650에서, 전자 장치(1000)는 루틴을 실행할 수 있다.
도 17은 본 개시의 일실시예에 따라, UI 컴포넌트 및 상태 정보를 저장하는 전자 장치(1000)의 동작 방법을 나타내는 흐름도이다.
전자 장치(1000)는 애플리케이션들의 각 실행 화면에서 제공되는 적어도 하나의 콘텐츠와 애플리케이션들의 각 실행 화면과 관련된 UI 컴포넌트들 간의 상태 정보를 저장할 수 있다.
구체적으로, 도 17을 참고하면, 단계 S1710에서, 전자 장치(1000)는, 애플리케이션의 실행 화면에서 사용자의 입력이 수신된 영역을 검출할 수 있다.
단계 S1720에서, 전자 장치(1000)는, 애플리케이션의 실행 화면에서 제공되는 콘텐츠 및 검출된 영역 내에서 사용자의 입력이 감지된 UI 컴포넌트의 속성에 기초하여, 애플리케이션의 실행 화면의 상태 정보를 획득할 수 있다.
단계 S1730에서, 전자 장치(1000)는, UI 컴포넌트가 포함된 영역의 이미지와 상태 정보를 저장할 수 있다.
도 18은 본 개시의 일실시예에 따라, 애플리케이션들의 루틴을 조합하여 복합 루틴을 생성하는 전자 장치(1000)의 동작 방법을 나타내는 흐름도이다.
전자 장치(1000)는, 사용자에 대한 적어도 둘 이상의 애플리케이션의 사용 패턴 정보에 기초하여, 적어도 둘 이상의 애플리케이션의 루틴을 조합하여 복합 루틴을 생성할 수 있다.
도 18을 참고하면, 단계 S1810에서, 전자 장치(1000)는, 적어도 둘 이상의 애플리케이션의 루틴에 대한 UI 컴포넌트들을 호출할 수 있다.
단계 S1820에서, 전자 장치(1000)는, UI 컴포넌트들 및 UI 컴포넌트들에 대응하는 상태 태그 정보를 표시할 수 있다.
단계 S1830에서, 전자 장치(1000)는, 사용자에 대한 적어도 둘 이상의 애플리케이션의 사용 패턴 정보 및 UI 컴포넌트들에 대응하는 상태 태그 정보에 기초하여, 태스크의 실행 조건에 대응하는 루틴과 태스크의 결과에 대응하는 루틴을 조합함으로써, 복합 루틴을 생성할 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에서 제1 애플리케이션을 실행하는 단계;
    상기 제1 애플리케이션의 제1 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별하는 단계;
    상기 제1 콘텐츠 및 상기 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 상기 제1 실행 화면의 제1 상태 정보를 획득하는 단계;
    상기 전자 장치의 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 상기 제1 상태 정보에 기초하여, 상기 제1 상태 정보에 대응하는 제1 태스크를 수행하기 위한 루틴을 획득하는 단계; 및
    상기 루틴을 실행하는 단계를 포함하는, 전자 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 제1 상태 정보를 획득하는 단계는,
    상기 제1 콘텐츠 및 상기 제1 애플리케이션의 상기 제1 실행 화면 내에서 상기 적어도 하나의 UI 컴포넌트 중 사용자의 입력이 감지된 제1 UI 컴포넌트의 속성에 기초하여, 상기 제1 상태 정보를 나타내는 제1 상태 태그 정보를 획득하는 단계를 포함하는, 전자 장치의 동작 방법.
  3. 제1항에 있어서,
    상기 루틴을 획득하는 단계는,
    상기 사용자에 대한 상기 애플리케이션들의 상기 사용 패턴 정보에 기초하여 미리 설정된 복수의 루틴들 중에서, 상기 제1 상태 정보와 매칭되는 상태 정보를 상기 제1 태스크의 수행 조건으로 충족시키는 제1 루틴을 검출하는 단계를 포함하는, 전자 장치의 동작 방법.
  4. 제3항에 있어서,
    상기 루틴을 획득하는 단계는,
    상기 검출된 제1 루틴이 상기 제1 애플리케이션과 다른 제2 애플리케이션에서 실행되는 루틴이면, 상기 제1 상태 정보 및 상기 제1 루틴에 기초하여, 상기 제1 태스크를 수행하기 위한 제2 루틴을 생성하는 단계를 포함하는, 전자 장치의 동작 방법.
  5. 제1항에 있어서,
    상기 제1 애플리케이션의 동작을 모니터링 한 결과에 기초하여, 상기 사용자에 대한 상기 제1 애플리케이션의 제1 사용 패턴 정보를 획득하는 단계; 및
    상기 제1 애플리케이션의 상기 제1 사용 패턴 정보에 기초하여, 제1 루틴을 생성하는 단계를 더 포함하는, 전자 장치의 동작 방법.
  6. 제1항에 있어서,
    상기 애플리케이션들의 각 실행 화면에서 제공되는 적어도 하나의 콘텐츠와 상기 애플리케이션들의 각 실행 화면과 관련된 UI 컴포넌트들 간의 상관 관계에 기초하여, 상기 애플리케이션들의 각 실행 화면의 상태 정보를 획득하는 단계; 및
    상기 애플리케이션들의 각 실행 화면의 상태 정보를 저장하는 단계를 더 포함하는, 전자 장치의 동작 방법.
  7. 제6항에 있어서,
    상기 상태 정보를 저장하는 단계는,
    상기 애플리케이션들 중 제2 애플리케이션의 실행 화면에서 상기 사용자의 입력이 수신된 영역을 검출하는 단계;
    상기 제2 애플리케이션의 실행 화면에서 제공되는 제2 콘텐츠 및 상기 영역 내에서 상기 사용자의 입력이 감지된 제2 UI 컴포넌트의 속성에 기초하여, 상기 제2 애플리케이션의 실행 화면의 제2 상태 정보를 획득하는 단계; 및
    상기 제2 UI 컴포넌트가 포함된 상기 영역의 이미지와 상기 제2 상태 정보를 나타내는 제2 상태 태그 정보를 저장하는 단계를 포함하는, 전자 장치의 동작 방법.
  8. 제1항에 있어서,
    상기 사용자에 대한 적어도 둘 이상의 애플리케이션의 사용 패턴 정보에 기초하여, 상기 적어도 둘 이상의 애플리케이션의 루틴을 조합하여 복합 루틴을 생성하는 단계를 더 포함하는, 전자 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 적어도 둘 이상의 애플리케이션의 루틴을 조합하여 복합 루틴을 생성하는 단계는,
    상기 적어도 둘 이상의 애플리케이션의 루틴에 대한 UI 컴포넌트들을 호출하는 단계;
    상기 UI 컴포넌트들 및 상기 UI 컴포넌트들에 대응하는 상태 태그 정보를 표시하는 단계; 및
    상기 사용자에 대한 상기 적어도 둘 이상의 애플리케이션의 사용 패턴 정보 및 상기 UI 컴포넌트들에 대응하는 상태 태그 정보에 기초하여, 태스크의 실행 조건에 대응하는 루틴과 상기 태스크의 결과에 대응하는 루틴을 조합함으로써, 상기 복합 루틴을 생성하는 단계를 포함하는, 전자 장치의 동작 방법.
  10. 제1항에 있어서,
    상기 루틴에 따라 상기 제1 태스크를 수행하는 단계는,
    상기 루틴의 실행을 추천하는 단계; 및
    상기 루틴의 추천을 승인하는 입력이 수신되면, 상기 제1 태스크를 수행하는 단계를 포함하는, 전자 장치의 동작 방법.
  11. 제1항에 있어서,
    서버로부터, 상기 전자 장치에 설치된 애플케이션의 루틴의 실행 조건을 충족시키는 상태 정보와 매칭되는 상태 정보를 갖는 상기 제1 애플리케이션의 루틴을 수신하는 단계를 더 포함하는, 전자 장치의 동작 방법.
  12. 제1항에 있어서,
    상기 애플케이션들의 적어도 하나의 루틴의 생성에 이용된 적어도 하나의 상태 정보 및 상기 적어도 하나의 상태 정보에 대응하는 이미지를 학습하는 단계;
    학습 결과에 기초하여, 소정 애플리케이션으로부터 획득된 상태 정보에 따라 루틴을 추천하는 학습 모델을 업데이트 하는 단계를 더 포함하는, 전자 장치의 동작 방법.
  13. 외부 장치와 통신을 수행하는 통신 인터페이스;
    사용자 입력부;
    디스플레이;
    전자 장치의 동작을 제어하는 프로세서; 및
    적어도 하나의 명령어를 저장하는 메모리를 포함하고, 상기 프로세서는 상기 적어도 하나의 명령어를 실행함으로써,
    상기 전자 장치에서 제1 애플리케이션을 실행하고,
    상기 제1 애플리케이션의 제1 실행 화면에 표시된 제1 콘텐츠 및 적어도 하나의 UI 컴포넌트를 식별하고,
    상기 제1 콘텐츠 및 상기 적어도 하나의 UI 컴포넌트를 식별한 결과에 기초하여, 상기 제1 실행 화면의 제1 상태 정보를 획득하고,
    상기 전자 장치의 사용자에 대한 애플리케이션들의 사용 패턴 정보 및 상기 제1 상태 정보에 기초하여, 상기 제1 상태 정보에 대응하는 제1 태스크를 수행하기 위한 루틴을 획득하고,
    상기 루틴을 실행하는, 전자 장치.
  14. 제13항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 제1 콘텐츠 및 상기 제1 애플리케이션의 상기 제1 실행 화면 내에서 상기 적어도 하나의 UI 컴포넌트 중 사용자의 입력이 감지된 제1 UI 컴포넌트의 속성에 기초하여, 상기 제1 상태 정보를 나타내는 제1 상태 태그 정보를 획득하는, 전자 장치.
  15. 제13항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 사용자에 대한 상기 애플리케이션들의 상기 사용 패턴 정보에 기초하여 미리 설정된 복수의 루틴들 중에서, 상기 제1 상태 정보와 매칭되는 상태 정보를 상기 제1 태스크의 수행 조건으로 충족시키는 제1 루틴을 검출하는, 전자 장치.
  16. 제15항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 검출된 제1 루틴이 상기 제1 애플리케이션과 다른 제2 애플리케이션에서 실행되는 루틴이면, 상기 제1 상태 정보 및 상기 제1 루틴에 기초하여, 상기 제1 태스크를 실행하기 위한 제2 루틴을 생성하는, 전자 장치.
  17. 제13항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 애플리케이션들의 각 실행 화면에서 제공되는 적어도 하나의 콘텐츠와 상기 애플리케이션들의 각 실행 화면과 관련된 UI 컴포넌트들 간의 상관 관계에 기초하여, 상기 애플리케이션들의 각 실행 화면의 상태 정보를 획득하고, 상기 메모리에 상기 애플리케이션들의 각 실행 화면의 상태 정보를 저장하는, 전자 장치.
  18. 제17항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 애플리케이션들 중 제2 애플리케이션의 실행 화면에서 상기 사용자의 입력이 수신된 영역을 검출하고,
    상기 제2 애플리케이션의 실행 화면에서 제공되는 제2 콘텐츠 및 상기 영역 내에서 상기 사용자의 입력이 감지된 제2 UI 컴포넌트의 속성에 기초하여, 상기 제2 애플리케이션의 실행 화면의 제2 상태 정보를 획득하고,
    상기 제2 UI 컴포넌트가 포함된 상기 영역의 이미지와 상기 제2 상태 정보를 나타내는 제2 상태 태그 정보를 저장하는, 전자 장치.
  19. 제13항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 사용자에 대한 적어도 둘 이상의 애플리케이션의 사용 패턴 정보에 기초하여, 상기 적어도 둘 이상의 애플리케이션의 루틴을 조합하여 복합 루틴을 생성하는, 전자 장치.
  20. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210036757A 2021-03-22 2021-03-22 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법 KR20220131721A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210036757A KR20220131721A (ko) 2021-03-22 2021-03-22 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법
PCT/KR2022/003716 WO2022203277A1 (ko) 2021-03-22 2022-03-17 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법
US17/698,489 US11893399B2 (en) 2021-03-22 2022-03-18 Electronic device for executing routine based on content and operating method of the electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210036757A KR20220131721A (ko) 2021-03-22 2021-03-22 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20220131721A true KR20220131721A (ko) 2022-09-29

Family

ID=83397589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210036757A KR20220131721A (ko) 2021-03-22 2021-03-22 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법

Country Status (2)

Country Link
KR (1) KR20220131721A (ko)
WO (1) WO2022203277A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100680191B1 (ko) * 2003-09-05 2007-02-08 삼성전자주식회사 감정 있는 에이전트를 갖는 사전 행동적 사용자 인터페이스 시스템
US20050054381A1 (en) * 2003-09-05 2005-03-10 Samsung Electronics Co., Ltd. Proactive user interface
US10200824B2 (en) * 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
KR101927706B1 (ko) * 2016-08-03 2018-12-11 주식회사 버즈뮤직코리아 상황별 음악 추천 방법 및 이를 이용하는 장치
KR20180135221A (ko) * 2017-06-12 2018-12-20 십일번가 주식회사 원 클릭 구매 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
WO2022203277A1 (ko) 2022-09-29

Similar Documents

Publication Publication Date Title
US11017045B2 (en) Personalized user experience and search-based recommendations
EP3469477B1 (en) Intelligent virtual keyboards
KR102008495B1 (ko) 데이터 공유 방법 및 이를 위한 이동 단말기
CN102999630B (zh) 基于姿势标记以观看相关内容
US10984192B2 (en) Application list providing method and device therefor
US20170357521A1 (en) Virtual keyboard with intent-based, dynamically generated task icons
US20150134687A1 (en) System and method of sharing profile image card for communication
CN103713843A (zh) 用于在移动装置中产生任务推荐图标的方法和设备
CN105452983A (zh) 可折叠装置及其控制方法
KR20130097488A (ko) 정보 제공 방법 및 이를 위한 이동 단말기
US20180137550A1 (en) Method and apparatus for providing product information
US20160179899A1 (en) Method of providing content and electronic apparatus performing the method
KR102625254B1 (ko) 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법
CN108604152A (zh) 未读消息提示方法和终端
US10911833B2 (en) Method and device for providing information on content
EP3610376B1 (en) Automatic context passing between applications
KR20230014802A (ko) 지정 항목 추천 방법
CN111242811A (zh) 提供活动通知的方法及其设备
CN111461801A (zh) 一种页面生成方法及其装置
US11874893B2 (en) Modularizing and embedding supplemental textual and visual content in different environments
CN114117225A (zh) 图书推荐方法及图书推荐设备
US10162898B2 (en) Method and apparatus for searching
CN112306606A (zh) 一种用于呈现控件样式的方法与设备
US11893399B2 (en) Electronic device for executing routine based on content and operating method of the electronic device
CN111242712A (zh) 一种商品展示方法及其装置

Legal Events

Date Code Title Description
A201 Request for examination