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

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

Info

Publication number
WO2022203277A1
WO2022203277A1 PCT/KR2022/003716 KR2022003716W WO2022203277A1 WO 2022203277 A1 WO2022203277 A1 WO 2022203277A1 KR 2022003716 W KR2022003716 W KR 2022003716W WO 2022203277 A1 WO2022203277 A1 WO 2022203277A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
routine
application
information
execution screen
Prior art date
Application number
PCT/KR2022/003716
Other languages
English (en)
French (fr)
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 US17/698,489 priority Critical patent/US11893399B2/en
Publication of WO2022203277A1 publication Critical patent/WO2022203277A1/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

Definitions

  • the present disclosure relates to an electronic device and an operating method of the electronic device, and to an electronic device executing a routine based on content provided by the electronic device and an operating method of the electronic device.
  • an electronic device and an operating method of the electronic device are provided for recognizing content provided by an electronic device and a user's intention for the content and executing a routine in which the user's intention is reflected.
  • an electronic device capable of generating a routine for an operation of an application frequently used by a user and an operating method of the electronic device are provided.
  • an electronic device capable of acquiring state information of a screen of an electronic device and executing or recommending a routine corresponding to the state information and an operating method of the electronic device are provided.
  • a method of operating an electronic device includes executing a first application in the electronic device, identifying first content and at least one UI component displayed on a first execution screen of the first application, the first content and at least one UI obtaining first state information of a first execution screen based on a result of identifying a component; and a first corresponding to the first state information based on the use pattern information of applications for the user of the electronic device and the first state information obtaining a routine for performing the task, and executing the routine.
  • an electronic device includes a communication interface configured to communicate with an external device, a user input unit, a display, a processor configured to control an operation of the electronic device, and a memory for storing at least one instruction, wherein the processor includes at least one instruction by executing the first application in the electronic device, identifying the first content and at least one UI component displayed on the first execution screen of the first application, and identifying the first content and the at least one UI component Acquire first status information of the first execution screen based on the result, and perform a first task corresponding to the first status information based on the usage pattern information of applications for the user of the electronic device and the first status information acquire the routine, and further configured to execute the routine.
  • a computer-readable recording medium in which a program for executing the method in a computer is recorded.
  • the recording medium in which at least one instruction can be recorded is executed by a processor of the electronic device
  • the processor executes a first application in the electronic device, and the first content displayed on the first execution screen of the first application and at least one Identifies a UI component of , obtains first state information of a first execution screen based on a result of identifying the first content and at least one UI component, and uses application pattern information and first information for a user of the electronic device
  • a routine for performing a first task corresponding to the first state information may be acquired based on the state information, and the routine may be executed.
  • the content provided by the electronic device and the user's intention for the content may be recognized, and a routine in which the user's intention is reflected may be executed.
  • the state information of the screen of the electronic device may be acquired, and a routine corresponding to the state information may be executed or recommended.
  • FIG. 1 illustrates an operation of an electronic device that obtains status information based on a result of identifying content and UI components displayed on a screen of an electronic device and executes a routine corresponding to the status information, according to an embodiment of the present disclosure
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for explaining a process of storing UI components and state information according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining a process of generating a routine based on a UI component and state information, according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for describing a routine of a first application, according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating information and status tag information of an electronic device based on a result of monitoring an event occurring in the electronic device as a second application different from a first application is executed in the electronic device, according to an embodiment of the present disclosure; It is a diagram for explaining the process of creating .
  • FIG. 7 is a diagram for describing a process of generating a routine of a second application based on a routine of a first application, according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram for describing a routine of a second application, according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram for explaining a process of executing a routine for skipping advertisements in an electronic device, according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram for explaining a process of executing a routine for performing name filling in an electronic device, according to an embodiment of the present disclosure
  • FIG. 11 is a diagram for explaining a process of executing a routine for performing name filling in an electronic device, according to another embodiment of the present disclosure.
  • FIG. 12 is a diagram for explaining a process of executing a routine for pressing “like a restaurant” in an electronic device, according to an embodiment of the present disclosure
  • FIG. 13 is a diagram for explaining a process of executing a routine for pressing “like a restaurant” in an electronic device, according to another embodiment of the present disclosure
  • FIG. 14 is a diagram for explaining a process of executing a routine for performing link storage in an electronic device, according to an embodiment of the present disclosure.
  • 15 is a diagram for explaining a process of executing a routine for performing link storage in an electronic device, according to another embodiment of the present disclosure.
  • FIG. 16 is a method of operating an electronic device for acquiring status information based on a result of identifying content and UI components displayed on a screen of the electronic device and executing a routine corresponding to the status information, according to an embodiment of the present disclosure;
  • FIG. is a flowchart showing
  • 17 is a flowchart illustrating an operation method of an electronic device that stores UI components and state information, according to an embodiment of the present disclosure.
  • 18 is a flowchart illustrating a method of operating an electronic device to generate a complex routine by combining routines of applications, according to an embodiment of the present disclosure.
  • the expression “at least one of a, b, or c” refers to only a, b only, c only, both a and b, both a and c, both b and c, all a, b, and c , or a variant thereof.
  • first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
  • an electronic device includes a mobile phone, a smart phone, a smart pad, a laptop computer, a tablet PC, an electronic book terminal, an electronic device for digital broadcasting, Personal Digital Assistants (PDA), There may be a Portable Multimedia Player (PMP), a navigation system, an MP3 player, and the like, but is not limited thereto.
  • PDA Personal Digital Assistants
  • PMP Portable Multimedia Player
  • MP3 player an MP3 player
  • a UI component is a component constituting a UI provided by an electronic device, and may refer to a component that interacts between a user and an electronic device within the electronic device.
  • the UI component may include a component included in a graphical user interface (GUI) used for a user to input or select information on an execution screen of an application, a hardware button of an electronic device, and the like.
  • GUI graphical user interface
  • the state information may be information indicating that an event can be generated through the screen of the electronic device based on a result of identifying content and UI components provided on the screen of the electronic device.
  • content and UI components provided on the screen of the electronic device may be provided on the execution screen of the application.
  • the event may include an operation executed in the application according to user input information received through the UI component.
  • the event may include an event generated by execution of a function or menu frequently used by a user in an application.
  • the state information may include information indicating that an event corresponding to usage pattern information of an application for a user is in a state in which it is possible to occur.
  • the state information may include content provided by the electronic device and information indicating a situation before and after a user's reaction to the content.
  • the status information may include information indicating a relationship between content provided by the electronic device and a subsequent operation of the electronic device after the content is provided.
  • the subsequent operation of the electronic device may include an operation of receiving user input information through a UI component in the electronic device, and an operation of executing a function or a menu of an application according to the user input information.
  • the state information may be information indicating a situation or relationship between content provided on an execution screen of an application and a UI component related to user input information.
  • the state information may be determined based on a property of a UI component that receives user input information according to content provided on an execution screen of an application.
  • the status information may include status tag information including words, keywords, phrases, sentences, etc. indicating the status information.
  • the status information may include status information of a condition event that satisfies the execution condition of the routine, and status information of a result event indicating the execution result of the routine.
  • a routine may include an operation or a set of a series of operations of an electronic device for performing a task, and may be specified by a function of an application and functions of the electronic device. Also, the routine may be set based on usage pattern information indicating a usage pattern in which a user uses an application in the electronic device. For example, at least one of an application frequently used by a user, a function frequently used by the user in the application, and a function frequently used by the user in connection with the applications may be stored as usage pattern information. For example, when the frequency of use of one item exceeds a preset threshold value for a preset time, it may be determined that the aforementioned item is frequently used.
  • the electronic device may execute an event corresponding to the result event.
  • a task may represent a mission to achieve a predetermined purpose, depending on the execution of a routine.
  • the routines for the tasks may be different. That is, in order to perform tasks in different applications, detailed operations executed in each application, the order of detailed operations, etc. may be different.
  • 1 is an electronic device that obtains status information based on a result of identifying content and UI components displayed on a screen of an electronic device 1000 and executes a routine corresponding to the status information, according to an embodiment of the present disclosure; It is a conceptual diagram for explaining the operation of (1000).
  • an AAA application may be executed in the electronic device 1000 .
  • the electronic device 1000 may display information about the restaurant review of AA tuna sashimi through the execution screen of the AAA application.
  • the electronic device 1000 may identify content displayed on the execution screen of the AAA application and at least one UI component.
  • the content may indicate information about a restaurant review of AA tuna sashimi.
  • the content may be texts 101 and 103 and images 102 about AA tuna sashimi restaurant reviews.
  • the at least one UI component may include a GUI used for the user to input or select information on the execution screen of the AAA application.
  • the at least one UI component may include a “like” icon 104 , a “write a review” icon 105 , and a “share” icon 105 .
  • the electronic device 1000 may obtain status information of the execution screen of the AAA application based on a result of identifying the content displayed on the execution screen of the AAA application and at least one UI component.
  • the status information may include information indicating a status that can be shared with other users by clicking the “Like” icon 104 for the tuna sashimi restaurant review, writing a review, or sharing it with other users.
  • the electronic device 1000 may acquire a routine corresponding to the state information based on the user's application usage pattern information and the state information of the execution screen of the AAA application. For example, in a BBB application that provides the same service as an AAA application, a user's use action to share a restaurant review may be stored as a usage pattern. In addition, a sharing routine for restaurant reviews may be set in the BBB application. The electronic device 1000 may generate a sharing routine for a restaurant review in the AAA application based on the routine of the BBB application and status information of the execution screen of the AAA application.
  • the electronic device 1000 may execute a generated must-eat restaurant review share routine.
  • the electronic device 1000 may display information 121 of applications that can be shared.
  • the electronic device 1000 may execute a selected application based on information 121 of applications that can be shared, and may display a screen for selecting a share target.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device 1000 according to an embodiment of the present disclosure.
  • the electronic device 1000 may include a communication interface 2100 , a user input device 2200 , a display 2300 , a processor 2400 , and a memory 2500 .
  • a communication interface 2100 a user input device 2200 , a display 2300 , a processor 2400 , and a memory 2500 .
  • the communication interface 2100 may include one or more components for performing communication with an external device and a server.
  • the communication interface 2100 may include a short-range communication unit, a mobile communication unit, and a broadcast receiving unit.
  • Short-range wireless communication unit Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, near field communication unit (Near Field Communication unit), WLAN (Wi-Fi) communication unit, Zigbee communication unit, infrared (IrDA, infrared) It may include a data association) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, an Ant+ communication unit, and the like, but is not limited thereto.
  • WFD Wi-Fi Direct
  • UWB ultra wideband
  • Ant+ communication unit an Ant+ communication unit
  • the mobile communication unit transmits and receives a radio signal to and from at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission/reception of a voice call signal, a video call signal, or a text/multimedia message.
  • the broadcast receiver receives a broadcast signal and/or broadcast-related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the user input device 2200 means a means for a user to input data for controlling the electronic apparatus 1000 .
  • the user input device 2200 may include a key pad, a dome switch, and a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, and red light). It may include, but is not limited to, at least one of a method of measuring the tension tension, a piezo effect method, etc.), a jog wheel, or a jog switch.
  • the display 2300 displays information processed by the electronic device 1000 .
  • the display 2300 may display an execution screen of an application executed in the electronic device 1000 .
  • the display 2300 may be used as an input device in addition to an output device.
  • the display 2300 includes a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display (3D). display), or at least one of an electrophoretic display.
  • the electronic device 1000 may include two or more displays.
  • the memory 2500 may store a program to be executed by the processor 2400 and may store data input to or output from the electronic device 1000 .
  • the memory 2500 is a memory of a flash memory type, a hard disk type, a multimedia card micro type, and a card type (eg, SD or XD memory, etc.); 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), magnetic memory, It may include a storage medium of at least one type of a magnetic disk or an optical disk.
  • Programs stored in the memory 2500 may be classified into a plurality of modules according to their functions.
  • the programs include a state recognition UI providing module 2510 , a UI component division module 2521 , a UI component merging module 2522 , a routine execution module 2523 , a UI component recognition module 2531 , and a state analysis module 2532 , a similarity analysis module 2533 , a pattern extraction module 2534 , and a pattern recommendation module 2535 .
  • the processor 2400 may control the overall operation of the electronic device 1000 .
  • the processor 2400 may control the communication interface 2100 , the user input device 2200 , the display 2300 , the memory 2500 , and the like by executing programs stored in the memory 2500 . .
  • the processor 2400 executes the state-aware UI providing module 2510 stored in the memory 2500 to perform a user interface (UI) used to interact between the user and the application on the execution screen of the application.
  • UI user interface
  • the UI component may mean a component that interacts between the user and the electronic device 1000 within the electronic device 1000 so that the electronic device 1000 outputs information and receives input information from the user.
  • the execution screen of the application may include a UI component used for a user to input or select information.
  • the UI component may include a UI component for selecting information in an application, a UI component for inputting information, and the like.
  • the processor 2400 may collect user input information and application information by executing the UI component division module 2521 stored in the memory 2500 .
  • the user input information may include information received through the user input device 2200, and specifically, text information input by the user on the execution screen of the application, UI components selected by the user, etc. may include
  • the information of the application may include information on at least one of a service provided by the application, the type of the application, the execution screen of the application displayed on the electronic device 1000, or content provided on the execution screen of the application. can
  • the processor 2400 executes the UI component division module 2521 stored in the memory 2500 to obtain UI components and state information using the service layer module, and stores the obtained UI components and state information in the database 2540 can be stored in
  • the service layer module may include a UI component recognition module 2531 , a state analysis module 2532 , a similarity analysis module 2533 , a pattern extraction module 2534 , and a pattern recommendation module 2535 .
  • the operation of the service layer module will be described later.
  • the UI component division module 2521 may extract a UI component used to receive user input information or selection information from an execution screen of an application.
  • the UI component division module 2521 may acquire status information based on the UI component and content provided on the execution screen of the application.
  • the state information may include information indicating that an event can occur through the screen of the electronic device 1000 based on a result of identifying content and UI components provided on the screen of the electronic device 1000 .
  • content and UI components provided on the screen of the electronic device 1000 may be provided on the execution screen of the application.
  • the event may mean an operation executed in the application according to user input information received through the UI component.
  • the event may include an event generated by execution of a function or menu frequently used by a user in an application.
  • the status information may include information indicating that an event corresponding to the usage pattern information of the application for the user can occur.
  • the state information may include content provided by the electronic device 1000 and information indicating a situation before and after a user's reaction to the content.
  • the status information may include information indicating a relationship between content provided by the electronic device and a subsequent operation of the electronic device after the content is provided.
  • the subsequent operation of the electronic device may include an operation of receiving user input information through a UI component in the electronic device, or an operation of executing a function or menu of an application according to the user input information.
  • the state information may include information indicating a situation or relationship between content provided on an execution screen of an application and a UI component related to user input information.
  • the status information may include status tag information including a word or keyword indicating the status information.
  • the status information may include status information of a condition event that satisfies the execution condition of the routine, and status information of a result event indicating the execution result of the routine.
  • the processor 2400 executes the UI component merging module 2522 stored in the memory 2500 to collect user input information and application information, and uses the service layer module to perform a routine based on the UI component and status tag information.
  • a routine may include an operation of an electronic device or a set of series of operations to perform a task.
  • a routine may be specified by a function of an application or functions of an electronic device.
  • the routine may be set based on the usage pattern information of the application for the user. At least one function frequently used by the user in the application may be set as a routine.
  • the processor 2400 may store the routine generated by executing the UI component merging module 2522 in the database 2540 .
  • the processor 2400 executes the routine execution module 2523 stored in the memory 2500 to collect user input information and application information, and uses the service layer module to identify an executable routine, execute the routine, or can recommend
  • the service layer module may include a UI component recognition module 2531 , a state analysis module 2532 , a similarity analysis module 2533 , a pattern extraction module 2534 , and a pattern recommendation module 2535 , and in the above example not limited
  • the UI component division module 2521 , the UI component merging module 2522 , and the routine execution module 2523 may independently perform an assigned function by using at least one module in the service layer module.
  • the processor 2400 executes the UI component recognition module 2531 stored in the memory 2500 to extract a selectable UI component from the execution screen of the application.
  • the UI component recognition module 2531 may receive user input information on an execution screen of an application or extract a UI component capable of receiving user selection information.
  • the processor 2400 may convert a voice signal acquired through a sound sensor such as a microphone in the electronic device 1000 into a voice command by executing the UI component recognition module 2531 .
  • the processor 2400 may execute the state analysis module 2532 stored in the memory 2500 to generate state tag information based on the execution screen of the application and user information obtained from the electronic device 1000 .
  • the user information may include user input information input through a screen of the electronic device 1000 , user sensor information sensed by a sensor of the electronic device 1000 , or by the electronic device 1000 . It may include sensed user voice information and the like.
  • the state analysis module 2532 analyzes a relationship between the content provided by the electronic device 1000 and a subsequent operation of the electronic device 1000 after the content is provided, and based on the analysis result, a word indicating state information or State tag information including keywords may be generated.
  • the processor 2400 executes the similarity analysis module 2533 stored in the memory 2500 to determine the similarity between user input information.
  • the processor 2400 executes the pattern extraction module 2534 stored in the memory 2500 to perform functions with high frequency of use based on usage information such as functions, items, menus, etc. used by the user in the application; At least one of an item and a menu may be extracted as a usage pattern, and usage pattern information may be generated. For example, if one item is used more than a preset number of times for a preset time, it may be determined that the frequency of use of the above-described item is high.
  • the processor 2400 may execute the pattern recommendation module 2535 stored in the memory 2500 to predict a usage pattern that is determined to be executed by the user on the execution screen of the application and recommend the usage pattern.
  • the processor 2400 stores, in the database 2540 in the memory 2500 , at least one content provided on the execution screen of the application, information on UI components related to the execution screen of the application, and information indicating the relationship between the content and the UI component.
  • the processor 2400 obtains status information based on user input information sensed by user activity and content provided by an application executed in the electronic device 1000 , and executes a routine corresponding to the status information.
  • the processor 2400 may monitor at least one event generated in the electronic device 1000 .
  • the event may include an operation of an application executed in the electronic device 1000 or a user operation detected by the electronic device in relation to an application executed in the electronic device 1000 .
  • the processor 2400 may monitor an event occurring in the electronic device 1000 based on information received through the user input device 2200 or information sensed by a sensor in the electronic device 1000 .
  • the processor 2400 may collect application information by monitoring the operation of the application executed in the electronic device 1000 .
  • the operation of the application may include at least one of an operation for executing the application, an operation for providing an execution screen of the application, and an operation for terminating the application.
  • the information of the application may include information on at least one of a service provided by the application, the type of the application, the execution screen of the application displayed on the electronic device 1000 , or content provided on the execution screen of the application.
  • the processor 2400 may collect user information by monitoring a user motion detected by the electronic device 1000 .
  • the user action may include an action of inputting information through a touch pad provided by the electronic device 1000 , an action of inputting information through a button provided by the electronic device 1000 , a user gesture action, Alternatively, it may include at least one of the user's utterance actions.
  • the user information may include at least one of information input by a user according to a user action, information selected by the user, and voice information of the user.
  • the processor 2400 may identify the first content and at least one UI component displayed on the execution screen of the first application executed in the electronic device 1000 .
  • the processor 2400 may acquire first state information of the first execution screen based on a result of identifying the first content and at least one UI component displayed on the execution screen of the first application.
  • the processor 2400 checks a relationship between the first content provided on the first execution screen of the first application and a subsequent operation of the electronic device 1000 after the first content is provided, and based on the check result, the first application It is possible to obtain first state information of the first execution screen of
  • the first execution screen of the first application may include a screen displayed on the display 2300 according to the operation of the first application.
  • the first execution screen of the first application may be changed according to information selected by the user in the execution screen.
  • a subsequent operation of the electronic device 1000 may include an operation of receiving user input information through a UI component in the electronic device 1000 after the first content is provided, a function of the first application according to the user input information, or It may include an action to execute a menu.
  • the user input information may include information input by the user through a UI component displayed on the execution screen of the first application.
  • the user input information may include information of a UI component selected by the user, text information input by the user through the UI component, function information or property information of a button pressed by the user through the UI component, etc. have.
  • the processor 2400 may identify the first content and at least one UI component provided on the execution screen of the first application based on the execution screen of the first application executed in the electronic device 1000 . .
  • the processor 2400 may acquire first state information of the execution screen of the first application based on a result of identifying the first content and the at least one UI component.
  • the first state information may be information indicating that an event executed according to user input information received through at least one UI component is in a state in which it is possible to occur.
  • the content provided on the execution screen of the first application may be an advertisement, and a “skip advertisement” icon may be displayed on the execution screen.
  • the “skip advertisement” icon may be a UI component for changing from an advertisement screen to a screen of next content.
  • the processor 2400 may obtain status information indicating that “advertisement skipping” is possible based on an advertisement provided on the execution screen of the first application and an attribute of an “advertisement skip” icon.
  • the processor 2400 provides the execution screen of the first application based on at least one of an execution screen of the first application executed in the electronic device 1000 or user input information sensed by the electronic device 1000 .
  • Relation information indicating a correlation between the first content to be used and at least one UI component may be obtained.
  • the processor 2400 may acquire first state information of the execution screen of the first application based on the relationship information.
  • the processor 2400 may determine the first content based on the first content provided on the execution screen of the first application and the property of the first UI component in which the user input is detected within the execution screen of the first application. It is possible to obtain first state information of the execution screen of the first application indicating a state in which a function corresponding to the first UI component can be executed. Also, the processor 2400 may acquire first state tag information indicating the first state information.
  • the content provided on the execution screen of the first application may be a “restaurant” blog, and a “share” icon may be included in the plurality of icons on the execution screen of the first application.
  • the processor 2400 transmits, based on the attributes of the “restaurant” blog and the “share” icon, status information indicating a state in which “sharing the gourmet blog” can be executed. can be obtained
  • the processor 2400 may acquire a routine for executing a first task corresponding to the first state information based on the first state information and the usage pattern information of the applications for the user of the electronic device 1000 .
  • the usage pattern information of the application may indicate usage information such as a function, item, menu, etc. that the user repeatedly uses in the application. For example, when a function, item, or menu is used more than a preset number of times for a preset time, it may be determined that the above-described function, item, or menu is repeatedly used.
  • the processor 2400 may monitor operations of applications executed in the electronic device 1000 and collect information on usage patterns of applications for a user.
  • the processor 2400 extracts "Skip Ad” as a usage pattern, and "When the advertisement is exposed while the application is running, the advertisement Skip" can be created as usage pattern information.
  • the processor 2400 may detect a routine matching the first state information from among a plurality of pre-stored routines.
  • the processor 2400 may include, among a plurality of routines preset based on usage pattern information of at least one application for the user, a first task having status information matching the first status information as an execution condition of the first task. 1 routine can be detected.
  • the state information matching the first state information may be state information identical to the first state information or state information similar to the first state information.
  • the same state information as the first state information may include state information having the same state tag information as the state tag information of the first state information.
  • the state information similar to the first state information may include state information having state tag information similar to the state tag information of the first state information.
  • the processor 2400 may determine the similarity between the state information using a model for determining the similarity.
  • the model for determining the similarity may be a model for determining the similarity between status tag information.
  • a model for determining similarity may use a representation learning technique for displaying state tag information in a space vector. If the degree of similarity between the state information calculated by the model for determining the similarity is equal to or greater than a preset value, it may be determined that there is similarity between the state information.
  • the processor 2400 corresponds to the type of the routine of the first application being executed in the electronic device 1000, and has the same state information as the first state information or state information similar to the first state information.
  • a first routine may be detected.
  • the processor 2400 performs the first state information and the second state information. Based on the first routine, a second routine for executing the first task may be generated. That is, when the detected routine cannot be directly applied to an application executed in the electronic device 1000 , the processor 2400 may generate a similar routine that executes the same task as the detected routine.
  • the processor 2400 may acquire first usage pattern information of the first application for the user based on the result of monitoring the operation of the first application.
  • the monitoring information of the first application which is obtained by monitoring the operation of the first application, is information of at least one content displayed on each execution screen of the first applications, user input information received through a UI component, and user input information It may include information on a function executed in the first application, and the like.
  • the monitoring information of the first application may include information indicating a correlation between at least one content provided in each execution screen of the first application and a UI component used according to the at least one content.
  • the first usage pattern information may include information indicating a usage pattern for performing the first task.
  • the processor 2400 may generate a first routine for performing the first task based on the usage pattern information of the first application.
  • the processor 2400 may obtain monitoring information of the second application that provides the same or similar service to the service provided by the first application.
  • a service similar to the service provided by the first application may be preset.
  • the processor 2400 may predict usage pattern information of the first application based on the monitoring information of the second application.
  • the processor 2400 may generate a first routine for performing the first task based on the usage pattern information of the first application.
  • the processor 2400 may execute the first task according to the routine.
  • the processor 2400 may recommend execution of a routine.
  • the processor 2400 may execute the first task when an input for approving the recommendation of the routine is received.
  • the processor 2400 may obtain status information of each execution screen of the applications based on a correlation between at least one content provided on each execution screen of the applications and UI components related to each execution screen of the applications. have.
  • the processor 2400 may store state information of each execution screen of the applications in a memory.
  • the processor 2400 may detect an area where the user's input is received on the execution screen of the second application among the applications.
  • the processor 2400 acquires second state information of the execution screen of the second application based on the second content provided on the execution screen of the second application and the property of the second UI component having a user input detected within the region. can do.
  • the processor 2400 may store an image of a region including the second UI component and second state tag information indicating the second state information.
  • the processor 2400 may execute a UI component division mode.
  • the processor 2400 divides the UI component within the execution screen based on at least one of an execution screen displayed on the display 2300 and user input information, and executes the division. Relationship information indicating a correlation between the content provided on the screen and the UI component may be obtained.
  • the processor 2400 may acquire status information of the execution screen based on the relationship information.
  • the processor 2400 may store state information in the database 2540 .
  • the processor 2400 may obtain a command for executing the UI component division mode.
  • a command for executing the UI component division mode there may be a method of directly executing the UI component division mode and a method of automatically executing the UI component division mode.
  • the processor 2400 obtains a voice such as “Enter the UI component division mode” or an icon for executing “UI component division mode” in the execution screen
  • "UI component division mode” may be executed.
  • the processor 2400 may execute the "UI component division mode" according to a preset interaction between the electronic device 1000 and the user.
  • the preset interaction may be an operation of touching an execution screen, an operation of pressing a button, or an operation of taking a gesture, and is not limited to the above example.
  • the processor 2400 may record user input information and an interaction between the electronic device 1000 and the user, or receive information on a UI component to be divided.
  • a method of receiving information of the UI component may include, for example, a method in which a user directly designates an area and a method in which a touch occurs within an execution screen is extracted.
  • the processor 2400 may receive a start input and an end input for region selection through an execution screen of the electronic device 1000 .
  • the processor 2400 may capture the execution screen at the moment when an interaction occurs between the electronic device 1000 and the user.
  • the processor 2400 may acquire UI area information by acquiring coordinate information at which an event is generated according to an interaction within the captured execution screen.
  • the processor 2400 may obtain relationship information indicating a correlation between the content provided on the execution screen of the application and the UI component based on at least one of the execution screen of the application and the user input information detected by the electronic device 1000 . have.
  • the processor 2400 may acquire status information of an execution screen of an application based on the relationship information.
  • the processor 2400 when the "Skip Ad" icon is displayed on the execution screen of the application, and the user selects the "Skip Ad” icon, the processor 2400 performs an advertisement on the execution screen of the application including the skip advertisement icon. State information indicating that a skip is possible may be obtained. Also, the processor 2400 may obtain status tag information such as skip advertisement, omit advertisement, and exclude advertisement with respect to the “skip advertisement” icon.
  • the processor 2400 may store the divided UI component according to the UI component division mode, an image including the UI component, and state information in the database 2540 .
  • the processor 2400 may generate a complex routine in which operations of at least two or more applications are combined.
  • the processor 2400 may generate a complex routine by combining routines of at least two or more applications based on usage pattern information of at least two or more applications.
  • the usage pattern information of the at least two or more applications may include information on a function that is repeatedly used by interworking between the at least two or more applications.
  • the processor 2400 may call UI components for routines of at least two or more applications.
  • the processor 2400 may display UI components and status tag information corresponding to the UI components.
  • the processor 2400 combines the routine corresponding to the execution condition of the task and the routine corresponding to the result of the task based on the usage pattern information of at least two or more applications for the user and the status tag information corresponding to the UI components. You can create routines.
  • the processor 2400 may call UI components stored in a database in the memory 2500 .
  • the processor 2400 may acquire name information of a routine to be generated by the user.
  • the processor 2400 may control the display 2300 to display UI components and status information including status tag information corresponding to the UI components.
  • the processor 2400 may modify the status tag information based on the user input.
  • the processor 2400 may select at least two or more UI components from among UI components and generate a routine of the selected at least two or more UI components.
  • the processor 2400 may select at least two or more UI components from among UI components based on a user input or an artificial intelligence model. Also, the processor 2400 may generate a routine having the same state information or similar state information as the generated routine, based on the artificial intelligence model.
  • the processor 2400 may generate the second routine of the second application based on the first routine generated according to the first state information of the first application.
  • the second routine of the second application may include a routine having the same state information or similar state information as the first state information.
  • the processor 2400 may generate a first routine for executing the first task based on the first state information of the first application.
  • the event according to the first routine may include an event that satisfies an execution condition and an event indicating an execution result.
  • the event that satisfies the execution condition may include an event that satisfies a condition for the first task to be executed.
  • the event representing the execution result may include an event in which the execution of the first task is completed.
  • the processor 2400 may obtain and store the execution screen or user input information of the first application corresponding to an event that satisfies the execution condition.
  • the processor 2400 may obtain and store status tag information of an event that satisfies an execution condition.
  • the first routine may include a routine for selecting a "like” icon if there is an image of "seafood dish” in the first application.
  • the processor 2400 may set an event in which an image of “seafood dish” is displayed on the execution screen of the first application and an event in which a “like” icon is displayed on the execution screen of the first application as events that satisfy the execution conditions. have.
  • the processor 2400 may set an event in which a “like” icon is selected on the execution screen of the first application as an event indicating the execution result.
  • the processor 2400 may obtain and store the name of the application, SNS, photo, image, seafood, restaurant, octopus, shellfish, etc. as status tag information in relation to an event that satisfies the execution condition.
  • the processor 2400 may obtain and store an icon, a like, a thumbs up, etc. as status tag information in relation to an event indicating an execution result.
  • the processor 2400 may monitor an event occurring in the electronic device 1000 in which the second application is executed.
  • the event may include a motion detected by the electronic device 1000 as the user is active.
  • the processor 2400 may acquire second state information based on the execution screen of the second application and user input information.
  • the second state information may include information indicating the state of the execution screen of the second application based on a correlation between content provided on the execution screen of the second application and a UI component related to user input information. have.
  • the processor 2400 may time-series events corresponding to the second state information and obtain state tag information for the events.
  • the processor 2400 may detect an event in which an image of “seafood dish” is displayed and a heart-shaped icon is selected on the execution screen of the second application.
  • the processor 2400 detects an operation of executing the second application as a first event, and detects an operation of displaying an execution screen including an image of "seafood” and a "heart-shaped” icon as a second event, and , an operation of receiving an input for selecting a “heart-shaped” icon may be detected as a third event.
  • the processor 2400 may obtain status tag information for the detected events. For example, the processor 2400 obtains the name of the application, SNS, app, user app, etc.
  • status tag information of the first event sets the photo, image, seafood, restaurant, octopus, travel, etc., of the second event. It may be acquired as status tag information, and icons, hearts, likes, etc. may be acquired as status tag information of the third event.
  • the processor 2400 may verify the similarity between the events of the second application detected according to the user's activity and events corresponding to the first routine of the first application. For example, the processor 2400 may verify the similarity between the events of the second application and the events corresponding to the first routine of the first application using the similarity learning model. For example, the processor 2400 determines the similarity of a category between the first application and the second application by using the similarity learning model, and the events corresponding to the first routine of the first application and the event of the second application similarities between them can be determined.
  • the processor 2400 determines the events of the second application based on the state information of the first routine to determine the execution condition of the second routine. It can be divided into an event that satisfies and an event that represents the execution result of the second routine.
  • the processor 2400 may generate a second routine having the same state information or similar state information as the first routine based on the classified events.
  • the communication interface 2100 may receive, from the server, the routine of the first application having status information matching the status information of the routine of the application installed in the electronic device 1000 .
  • the processor 2400 may learn the state information of at least one routine of the applications and an image corresponding to the state information of the at least one routine.
  • the processor 2400 may update the learning model for recommending a routine according to the state information of the application, based on the learning result.
  • FIG. 3 is a diagram for explaining a process of storing UI components and state information according to an embodiment of the present disclosure.
  • the electronic device 1000 may monitor at least one event executed in the electronic device 1000 .
  • the event may be an operation of executing an application, an operation of providing an execution screen in the application, or an operation of receiving user input information by the electronic device 1000 .
  • the electronic device 1000 may detect an operation of executing a XXX application or an operation of executing a YYY application among a plurality of applications installed in the electronic device 1000 .
  • the electronic device 1000 determines the order in which the plurality of applications are executed, functions executed in the plurality of applications, information selected by the user, and information input by the user. etc. can be monitored.
  • the electronic device 1000 may identify at least one UI component on the execution screen of the application. For example, the electronic device 1000 may identify a UI component displayed on the execution screen of the application and a UI component used by the user on the execution screen of the application. For example, referring to block 321 of FIG. 3 , the electronic device 1000 may detect a UI component for executing an application and a UI component for executing a function within the application.
  • the electronic device 1000 may obtain status information of the execution screen. For example, the electronic device 1000 checks the content displayed in the execution screen of the application and the subsequent operation of the electronic device 1000 with respect to the content, and the relationship between the content and the subsequent operation of the electronic device 1000 on the content It is possible to obtain status information indicating The electronic device 1000 may obtain status tag information including words, keywords, phrases, sentences, etc. indicating status information. For example, referring to block 331 of FIG.
  • the electronic device 1000 determines the content displayed in the execution screen of the application and the subsequent operation of the electronic device 1000 with respect to the content, based on the result of confirming the “advertisement” It is possible to obtain status tag information such as "Skip”, “Run Notepad”, “Share”, “Capture”, and “Fill Name”, and the like.
  • the electronic device 1000 identifies the advertisement played on the execution screen as the content, identifies the “Skip advertisement” icon as a UI component, and receives an input for selecting the “Skip advertisement” icon as content It may be identified as a subsequent operation of the electronic device 1000 for . Based on the identification result, the electronic device 1000 may obtain status information that "when an advertisement is played on the execution screen of the XXX application, the advertisement is skipped". Also, the electronic device 1000 may obtain status tag information including a word or keyword representing the status information. The electronic device 1000 may obtain status tag information of “skip advertisement”.
  • the electronic device 1000 may store at least one UI component and state information.
  • the electronic device 1000 may include an image representing at least one UI component, an image including at least one UI component, content information related to at least one UI component, state information related to at least one UI component, Status tag information related to at least one UI component may be stored.
  • the electronic device 1000 may map and store information representing at least one UI component and state information related to at least one UI component.
  • the electronic device 1000 may acquire application usage pattern information based on a result of monitoring at least one event executed in the electronic device. For example, the electronic device 1000 may determine, as a usage pattern, at least one of a function, an item, and a menu that is frequently used in an application, as a usage pattern, based on a result of monitoring at least one event, and acquire usage pattern information. can The electronic device 1000 may generate a routine corresponding to the usage pattern information based on the usage pattern information.
  • FIG. 4 is a diagram for explaining a process of generating a routine based on a UI component and state information, according to an embodiment of the present disclosure.
  • the electronic device 1000 may generate a complex routine by combining the routines of each application.
  • the task may be "share the content provided by the XXX application with the account of a specific user of the YYY application”.
  • the electronic device 1000 combines the first routine of “share the content provided by the XXX application with the YYY application” and the second routine of “share the content provided by the YYY application with the account of a specific user” by combining the , "share the content provided by the XXX application with the YYY application”.
  • the electronic device 1000 may call UI components.
  • the electronic device 1000 may display a list including information on a routine preset in each of a plurality of applications.
  • the electronic device 1000 may receive an input for selecting routines that can be used to perform a task based on the list.
  • the electronic device 1000 may call UI components corresponding to the selected routines.
  • the electronic device 1000 may include a first routine of “sharing content provided by the XXX application with the YYY application” and “share the content provided by the YYY application with the account of a specific user” among the plurality of routines. may receive an input for selecting a second routine of "share with”. The electronic device 1000 may call UI components corresponding to the first routine and the second routine.
  • the electronic device 1000 may display UI components and status tag information.
  • the electronic device 1000 may display an execution screen of an application corresponding to the selected routines and status tag information on the execution screen of the application.
  • the execution screen of the application may include a UI component used to perform a task.
  • the electronic device 1000 displays an execution screen (A), an execution screen (B), and an execution screen (C) related to the first routine of “Sharing content provided by the XXX application with the YYY application” can do. Also, the electronic device 1000 may display the status tag information 421 of the execution screen A, the status tag information 422 of the execution screen B, and the status tag information 423 of the execution screen C. have. Also, the electronic device 1000 may display an execution screen D and an execution screen E related to the second routine of “sharing content provided by the YYY application with an account of a specific user”. Also, the electronic device 1000 may display status tag information 424 of the execution screen D and the execution screen E.
  • the electronic device 1000 may generate a routine based on the UI component and the status tag information. For example, in order to perform a task, the electronic device 1000 may determine an operation of the electronic device 1000 corresponding to a condition event and determine an operation of the electronic device 1000 corresponding to a result event. The electronic device 1000 may determine UI component and state tag information corresponding to the condition event. The electronic device 1000 may determine UI component and state tag information corresponding to the result event. The electronic device 1000 may generate a complex routine by combining a routine corresponding to a condition event and a routine corresponding to a result event.
  • the electronic device 1000 may receive an input for correcting status tag information on an execution screen of an application.
  • the electronic device 1000 may generate a routine based on the modified state tag information.
  • the electronic device 1000 determines the operation of the electronic device 1000 according to the execution screen A, the execution screen B, and the execution screen C as the condition event 431 , and the condition event ( Status tag information 432 corresponding to 431 may be generated. Also, the electronic device 1000 determines the operation of the electronic device 1000 according to the execution screen D and the execution screen E as the result event 433 , and states tag information ( 434) can be created. The electronic device 1000 combines the routine corresponding to the condition event 431 and the routine corresponding to the result event 433 to create a complex routine of “sharing the content provided by the XXX application with the YYY application”. can
  • FIG. 5 is a diagram for explaining a routine of a first application according to an embodiment of the present disclosure.
  • the electronic device 1000 may set a function, a menu, etc. frequently used by a user in an application as a routine.
  • the electronic device 1000 may acquire application usage pattern information for the user based on the result of monitoring the operation of the application.
  • the application usage pattern information for the user may include information indicating a usage pattern of a function frequently used by the user in the application, a usage pattern such as a menu, or a function frequently used in connection with other applications in the application.
  • the electronic device 1000 may generate a routine corresponding to the usage pattern based on application usage pattern information about the user.
  • the electronic device 1000 may obtain information about a condition event that satisfies an execution condition of a routine and a result event indicating an execution result of the routine.
  • the electronic device 1000 may obtain an execution screen corresponding to a condition event that satisfies the execution condition of the routine and an execution screen corresponding to a result event indicating an execution result.
  • the electronic device 1000 may obtain relationship information indicating a correlation between content provided on the execution screen corresponding to the condition event and UI components provided on the execution screen corresponding to the condition event.
  • the electronic device 1000 may obtain status information corresponding to the condition event based on the relationship information.
  • the electronic device 1000 may map and store a conditional event and state tag information corresponding to the conditional event.
  • the electronic device 1000 may obtain relationship information indicating a correlation between content provided on the execution screen corresponding to the result event and UI components provided on the execution screen corresponding to the result event.
  • the electronic device 1000 may acquire status information corresponding to the result event based on the relationship information.
  • the electronic device 1000 may map and store a result event and status tag information corresponding to the result event.
  • the electronic device 1000 may generate a routine in which an event matching the result event is executed in the electronic device 1000 .
  • the electronic device 1000 may acquire information about an operation of pressing “Like” in seafood cooking content as first usage pattern information, based on a result of monitoring the execution screen of the XXX application. . Based on the first usage pattern information, the electronic device 1000 may determine an event in which content for seafood dishes is displayed in the XXX application as the condition event 510 . Also, the electronic device 1000 may determine an event of pressing “Like” as the result event 520 based on the first usage pattern information.
  • the electronic device 1000 responds to the condition event 510 based on at least one execution screen providing content for seafood dishes in the XXX application and a UI component that receives user input information on the at least one execution screen conditional state tag information 515 may be obtained.
  • the XXX application, SNS, app, user app, etc. may be acquired as a status tag for an event of executing the XXX application in the electronic device 1000 .
  • photos, Jeju Island, sashimi, grains, seafood, sushi restaurants, travel, three major restaurants, etc. may be acquired as status tags for events that provide content about seafood dishes.
  • the electronic device 1000 may acquire the result status tag information 525 corresponding to the result event 520 based on at least one execution screen corresponding to the operation of pressing “Like”. For example, icons, likes, thumbs up, etc. may be obtained as status tags for the event of pressing “Like”.
  • the electronic device 1000 may generate a routine in which an event of clicking “Like” is executed when an event for providing content about seafood is detected in the XXX application.
  • the electronic device 1000 may execute a result event indicating an execution result of the routine.
  • FIG. 6 is an electronic device based on a result of monitoring an event occurring in the electronic device 1000 as a second application different from the first application is executed in the electronic device 1000 according to an embodiment of the present disclosure; It is a diagram for explaining a process of generating information of 1000 and status tag information.
  • the electronic device 1000 may acquire information on the electronic device 1000 and status tag information corresponding to the information on the electronic device 1000 .
  • the electronic device 1000 may obtain usage pattern information of the second application including information on functions frequently used by the user in the second application. can be obtained For example, when a function is used more than a preset number of times for a preset time, the function may be determined as a function frequently used by the user.
  • the usage pattern information of the second application may include information on the electronic device 1000 and status tag information corresponding to the information on the electronic device 1000 .
  • the information of the electronic device 1000 may indicate information about an event occurring in the electronic device 1000 .
  • the electronic device 1000 may acquire information on an operation of pressing “Like” in seafood cooking content as second usage pattern information, based on a result of monitoring the execution screen of the YYY application.
  • the electronic device 1000 may acquire information on a plurality of events and status tag information on the plurality of events based on the second usage pattern information.
  • the electronic device 1000 may include a first event 611 for executing a YYY application, a second event 621 for providing content about seafood in the YYY application, and a third event for pressing “Like” (631) information can be obtained.
  • a YYY application, SNS, app, user app, etc. may be obtained as the status tag 612 for the first event 611 .
  • photos, Jeju Island, octopus, shellfish, seafood, restaurants, travel, Aewol, etc. may be acquired as a status tag 622 for the second event 621 .
  • icons, likes, hearts, and the like may be acquired as status tags 633 for the third event 631 .
  • FIG. 7 is a diagram for explaining a process of generating a routine of a second application based on a routine of a first application, according to an embodiment of the present disclosure
  • the electronic device 1000 selects “Like” You can create a routine that fires the event that is pressed.
  • the electronic device 1000 may set the generated routine as the first routine of the XXX application.
  • the electronic device 1000 may acquire monitoring information of the YYY application. For example, as described with reference to FIG. 6 , the electronic device 1000, based on a result of monitoring the execution screen of the YYY application, event information and status tag information for an operation of pressing “Like” in seafood content can be obtained.
  • the electronic device 1000 performs the operation of the electronic device 1000 for the first routine of the XXX application and the operation of the electronic device 1000 obtained from monitoring information of the YYY application. can be compared.
  • the electronic device 1000 may verify the similarity between the operation of the electronic device 1000 for the YYY application and the operation of the electronic device 1000 for the first routine of the XXX application, based on the comparison result.
  • the electronic device 1000 may check the similarity between the XXX application and the YYY application.
  • the electronic device 1000 may verify the similarity between applications based on a result of comparing at least one of an application type, an application function, and a service provided by the application. For example, if the XXX application and the YYY application are SNS, the electronic device 1000 may recognize the similarity between the XXX application and the YYY application.
  • the electronic device 1000 verifies the similarity between the operation of the electronic device 1000 for the first routine and the operation of the electronic device 1000 obtained from the monitoring information of the YYY application. can do.
  • the electronic device 1000 may verify the similarity between the status tag information for the first routine and the status tag information for the monitoring information.
  • the status tag information for the first routine may be condition status tag information 515 corresponding to the condition event 510 and result status tag information 525 corresponding to the result event 520 .
  • the status tag information for the monitoring information includes the status tag 612 for the first event 611 , the status tag 622 for the second event 621 , and the status tag for the third event 631 . Status tag information including 633 may be included.
  • the electronic device 1000 may verify the similarity between the status tag information for the first routine and the status tag information for the monitoring information, based on text and images included in the status tag information.
  • the electronic device 1000 may recognize the similarity between the status tag information for the first routine and the status tag information for the monitoring information.
  • the predetermined criterion may be expressed as a probability representing a numerical value.
  • the degree of redundancy between text information included in the status tag information may be determined based on a matching ratio for words, keywords, phrases, and sentences included in the status tag information, and a similarity ratio of meanings indicated by the text.
  • the degree of overlap between information indicated by an image included in the status tag information may be determined based on a similarity rate of meaning indicated by the image. For example, an image marked with "Like” and an image marked with "Heart” represent positive meaning and may be determined to be similar.
  • the electronic device 1000 may include conditional status tag information 515 corresponding to the conditional event 510 , a status tag 612 for the first event 611 , and a status for the second event 621 .
  • conditional status tag information 515 corresponding to the conditional event 510
  • a status tag 612 for the first event 611 a status tag 612 for the first event 611
  • a status for the second event 621 a status for the second event 621 .
  • 7 status tags SNS, app, user app, photo, Jeju island, seafood, travel
  • 5 out of 12 status tags It can be determined that the dog's status tags (YYY application, octopus, clam, restaurant, Aewol) are similar.
  • the electronic device 1000 obtains 3 It may be determined that two status tags (icon, like) of the dog status tags match, and one status tag (heart) of the three status tags is similar.
  • the electronic device 1000 may verify the similarity of the state tag information by using a natural language processing model that determines whether words or sentences have similar meanings.
  • the natural language processing model may calculate a vector for a word by arranging the word in a three-dimensional space.
  • the natural language processing model may calculate vectors for a plurality of words.
  • the natural language processing model may learn words having similar meanings based on vectors of words having similar meanings among a plurality of words.
  • the natural language processing model may determine similarity between predetermined words as a result of learning words having similar meanings. The higher the similarity between words, the higher the similarity value may be.
  • the electronic device 1000 includes conditional state tag information 515 corresponding to the conditional event 510 , a state tag 612 for the first event 611 , and a second event 621 . It may be determined that the similarity between the status tag information including the status tag 622 is high. Also, based on the natural language processing model, the electronic device 1000 , a status tag including result status tag information 525 corresponding to the result event 520 and a status tag 633 for the third event 631 . It can be determined that the similarity between the information is high. The electronic device 1000 may identify a similarity between the operation of the electronic device 1000 for the YYY application and the operation of the electronic device 1000 for the first routine of the XXX application.
  • the electronic device 1000 may generate a routine of the YYY application based on the first routine of the XXX application.
  • the electronic device 1000 may generate a conditional event and conditional state tag information for the YYY application based on the conditional state tag information 515 corresponding to the conditional event 510 .
  • the electronic device 1000 may generate a result event and result state tag information for the YYY application based on the result state tag information 525 corresponding to the result event 520 .
  • the electronic device 1000 performs a routine in which an event of clicking “Like” is executed when an event for providing content for seafood dishes in the YYY application is detected by the electronic device 1000 based on the generated condition event and result event. can create In Fig. 8, a process of creating a routine of the YYY application will be described.
  • the server may obtain, from the electronic device 1000 , information on the first routine of the XXX application and monitoring information of the YYY application.
  • the server may perform the same operations of the electronic device 1000 described in blocks 730 and 740 .
  • FIG. 8 is a diagram for describing a routine of a second application according to an embodiment of the present disclosure.
  • the electronic device 1000 may obtain conditional state tag information 515 corresponding to the conditional event 510 of the first routine of the XXX application and state tag information corresponding to the state tag information of the monitoring information of the YYY application.
  • the electronic device 1000 includes a status tag including a status tag 612 for a first event 611 and a status tag 622 for a second event 621 . It may be determined that the information matches the condition state tag information 515 corresponding to the condition event 510 of the first routine.
  • the electronic device 1000 may determine the first event 611 and the second event 621 as the condition event 810 .
  • the electronic device 1000 transmits the status tag information including the status tag 612 for the first event 611 and the status tag 622 for the second event 621 to the condition status tag of the condition event 810 . It can be determined with information 815 .
  • the electronic device 1000 may obtain the result state tag information 525 corresponding to the result event 520 of the first routine of the XXX application and the state tag information corresponding to the state tag information for the monitoring information of the YYY application.
  • the status tag information including the status tag 633 for the third event 631 corresponds to the result event 520 of the first routine. It may be determined that the result matches the status tag information 525 .
  • the electronic device 1000 may determine the third event 631 as the result event 820 .
  • the electronic device 1000 may determine the status tag information including the status tag 633 for the third event 631 as the result status tag information 825 of the result event 820 .
  • the electronic device 1000 based on the generated condition event 810 and the result event 820, when an event providing content for seafood dishes in the YYY application is detected by the electronic device 1000, “Like” You can create a second routine where the press event is executed.
  • FIG 9 is a diagram for explaining a process of executing a routine for skipping advertisements in the electronic device 1000 according to an embodiment of the present disclosure.
  • a routine for skipping an advertisement may be set in the electronic device 1000 .
  • the advertisement skip routine may include a routine for skipping an advertisement without playing it until the advertisement ends when an advertisement is reproduced on the execution screen of the electronic device 1000 .
  • a first application may be executed in the electronic device 1000 , and an advertisement may be played on an execution screen of the first application. While the advertisement is being played, an advertisement skip icon 911 may be displayed on the execution screen of the first application.
  • the electronic device 1000 may identify an advertisement and an advertisement skip icon 911 displayed on the execution screen of the first application, and obtain first state information of the first application.
  • the electronic device 1000 may obtain first state information indicating a state in which an advertisement is played on the execution screen of the first application and an advertisement skip icon 911 is provided.
  • the electronic device 1000 may obtain first state tag information of the first state information.
  • the first status tag information may include information of a status tag including the first application, advertisement, and skipping advertisement.
  • the electronic device 1000 may detect an advertisement skipping routine having status information matching the first status information from among the plurality of routines. For example, the electronic device 1000 may determine whether the first status tag information on the execution screen of the first application is similar to the status tag information of the advertisement skip routine.
  • the electronic device 1000 displays a message 921 inquiring whether to execute the advertisement skipping routine. can do.
  • the message 921 may include information indicating a matching rate between the first status tag information and the status tag information of the advertisement skipping routine.
  • the match rate may indicate a match rate between the first state tag information and the state tag information of a condition event that satisfies the execution condition of the advertisement skipping routine.
  • the electronic device 1000 may receive an input requesting execution of an advertisement skipping routine based on the message 921 .
  • the electronic device 1000 may execute the advertisement skipping routine.
  • the electronic device 1000 may automatically execute an operation 931 of pressing the advertisement skip icon 911 displayed on the execution screen of the first application.
  • the routine of skipping advertisements may be set to operate in the first application.
  • the electronic device 1000 may automatically execute an advertisement skip routine.
  • the electronic device 1000 may display a message inquiring whether to execute the advertisement skip routine.
  • the electronic device 1000 may modify the application target range of the advertisement skipping routine to include the second application or generate an advertisement skipping routine for the second application.
  • the advertisement skip routine may be set to be activated when a cosmetic advertisement is played.
  • the electronic device 1000 may not execute the advertisement skipping routine.
  • the electronic device 1000 determines that the cosmetic advertisement and the perfume advertisement are similar, and executes the advertisement skip routine. You can display a message asking if you want to.
  • the electronic device 1000 may modify the application target range of the advertisement skipping routine to include a perfume advertisement or generate a perfume advertisement skipping routine for the first application. .
  • FIG. 10 is a diagram for explaining a process of executing a routine for performing name filling in the electronic device 1000 according to an embodiment of the present disclosure.
  • the ABC flight application is executed in the electronic device 1000, and an input field for inputting check-in information may be provided on the execution screen of the ABC flight application.
  • An input field for inputting check-in information may include a passenger's last name input field 1011 and a passenger's first name input field 1012 .
  • a routine (hereinafter, name fill-up routine) for performing name fill-up may be set.
  • the name filling routine may include a routine for automatically recording the first and last names when there is a request to fill in the passenger's first and last names on the execution screen of the ABC airline application.
  • the electronic device 1000 may acquire second status information indicating a status of requesting check-in information.
  • the second status information may also include information indicating a status of requesting to fill in the passenger's first and last name.
  • the electronic device 1000 may obtain second status tag information including status tags such as the passenger's first name, last name, name input, and name filling.
  • the electronic device 1000 may detect a name filling routine having state information matching the second state information from among the plurality of routines. For example, the electronic device 1000 may determine whether the second status tag information for the execution screen of the ABC aviation application is similar to the status tag information of the name filling routine.
  • the electronic device 1000 inquires whether to execute the name filling routine A message 1021 may be displayed.
  • the message 1021 may include information indicating a matching rate between the second status tag information and the status tag information of the name filling routine.
  • the match rate may be 99%.
  • the electronic device 1000 may receive an input requesting execution of the name filling routine based on the message 1021 .
  • the electronic device 1000 may execute the name fill-in routine.
  • the electronic device 1000 records the user's last name in the passenger's last name input field 1011 displayed on the execution screen of the ABC airline application ( 1031 ), and records the user's name in the passenger's first name input field 1012 .
  • operation 1032 may be automatically executed.
  • FIG. 11 is a diagram for describing a process of executing a routine for performing name filling in the electronic device 1000 according to another embodiment of the present disclosure.
  • the ABC education application is executed in the electronic device 1000 , and an input field for inputting information on the training participation application form may be provided on the execution screen of the ABC education application.
  • the input field for inputting information of the training participation application may include a reservation name input field 1111 for filling in the name of the reservation person.
  • the electronic device 1000 may obtain third state information indicating a state of requesting information on the education participation application form.
  • the third status information may also include information indicating a status of requesting to fill in the name of a reservation person applying to participate in the training.
  • the electronic device 1000 may acquire third status tag information including status information such as the name of the reservation person, inputting a name, and filling in a name.
  • the electronic device 1000 may detect a routine having state information matching the third state information from among the plurality of routines. For example, the electronic device 1000 may check information input on the execution screen of the ABC education application.
  • the input information may be information on a name of a person making a reservation, affiliation, mobile phone, and e-mail.
  • the electronic device 1000 may check whether there is a routine having status information matching with status information indicating a status of inputting information in the training participation application form among the plurality of routines. Also, among the plurality of routines, the electronic device 1000 may check whether there is a routine having status information matching with status information indicating a status of inputting information on the name of the person making the reservation, affiliation, mobile phone, and e-mail.
  • the electronic device 1000 does not have a routine matching with information filling for affiliation, mobile phone, and e-mail, and the reservation It can be seen that there is a routine matching the information filling of the person.
  • the routine matching with the filling in information for the name of the reservation may include a name filling routine of the ABC Airlines application.
  • the execution screen of the ABC education application and the execution screen of the ABC airline application are different from each other, and the reservation name input field 1111 for filling the reservation name, the passenger's last name input field 1011, the passenger's name input field 1012 Since the degrees are different, the matching rate between the state information of the execution screen of the ABC education application and the state information of the execution screen of the ABC aviation application may be 66%. For example, if the matching rate is 50% or more, an operation of inquiring whether to execute the detected routine may be set.
  • the electronic device 1000 may display a message 1121 inquiring whether to execute a name filling routine.
  • the electronic device 1000 may receive an input requesting execution of the name filling routine based on the message 1121 .
  • a reservation name filling routine for filling the reservation person name in the reservation name input field 1131 may be generated.
  • the electronic device 1000 may set an event for requesting the preparation of an education participation holy book in the ABC education application as a conditional event, and may set an event for filling in the name of a reservation in the education participation application form as a result event.
  • the electronic device 1000 may generate a routine in which an event for automatically writing the name of a reservation person is executed when an event requesting the creation of an educational participation certificate is detected in the ABC education application based on the condition event and the result event .
  • FIG. 12 is a diagram for explaining a process of executing a routine for clicking “Like a restaurant” in the electronic device 1000 according to an embodiment of the present disclosure.
  • the electronic device 1000 may execute the ZZZ delivery application and may display an image including an udon restaurant on the execution screen of the ZZZ delivery application.
  • a "Like" icon 1211 may be included on the execution screen of the ZZZ delivery application.
  • a routine hereinafter referred to as a restaurant liking routine
  • the restaurant like routine includes a routine of pressing the "Like" icon 1211 when information that can be recognized as a restaurant is displayed on the execution screen of the ZZZ delivery application, and a food registered in advance as a favorite food by the user is displayed can do.
  • the electronic device 1000 may acquire fourth state information indicating a state in which the user's favorite udon is displayed in the ordering menu of a restaurant.
  • the fourth state information may include fourth state tag information including state tags such as restaurant, number one, sales number one, popularity, hot menu, udon, and the like.
  • the electronic device 1000 may detect a restaurant liking routine having state information matching the fourth state information from among the plurality of routines. For example, the electronic device 1000 may determine whether the fourth status tag information on the execution screen of the ZZZ delivery application is similar to the status tag information of the restaurant liking routine.
  • the electronic device 1000 inquires whether to execute the restaurant like routine.
  • a message 1221 may be displayed.
  • the message 1221 may include information indicating a matching rate between the fourth status tag information and the status tag information of the restaurant like routine.
  • the match rate may be 99%.
  • the electronic device 1000 may receive an input requesting execution of a restaurant liking routine based on the message 1221 .
  • the electronic device 1000 may execute a restaurant liking routine.
  • the electronic device 1000 may automatically execute an operation 1231 of pressing the “Like” icon displayed on the execution screen of the ZZZ delivery application.
  • FIG. 13 is a diagram for explaining a process of executing a routine for clicking “Like a restaurant” in the electronic device 1000 according to another embodiment of the present disclosure.
  • the electronic device 1000 may execute the QQQ blog application and display information introduced as a Jeju restaurant on the execution screen of the QQQ blog application.
  • icons 1311 including a “like” icon, a “write a review” icon, a “share” icon and a “bookmark” icon 1312 may be included.
  • the electronic device 1000 may acquire fifth state information indicating a state of introducing a seafood restaurant in Jeju Island.
  • the fifth state information may include fifth state tag information including state tags such as Jeju Island, restaurants, seafood soup, popularity, likes, write reviews, share, bookmarks, and the like.
  • the seafood soup may be food registered in advance as a favorite food of the user.
  • the electronic device 1000 may detect a routine having state information matching the fifth state information from among the plurality of routines. For example, the electronic device 1000 may, among a plurality of routines, leave likes, write reviews, and share for restaurants, and have status information matching status information indicating a status in which bookmarks can be set. You can check if this exists.
  • the electronic device 1000 does not have a routine matching with writing a review routine, a sharing routine, and setting a bookmark.
  • a routine matching with clicking a restaurant like in the QQQ blog application may include a restaurant liking routine in the ZZZ delivery application.
  • the QQQ blog application and the ZZZ delivery application may have different types of applications and different purposes of the service, but they may have in common that they provide a like service for users. Accordingly, the matching rate between the state information of the execution screen of the QQQ blog application and the state information of the execution screen of the ZZZ delivery application may be 70%. For example, if the matching rate is 50% or more, an operation of inquiring whether to execute the detected routine may be set.
  • the electronic device 1000 may display a message 1321 inquiring whether to execute a restaurant liking routine.
  • the electronic device 1000 may receive an input requesting execution of a restaurant liking routine based on the message 1321 .
  • the electronic device 1000 based on the status information of the execution screen of the QQQ blog application and the restaurant liking routine of the ZZZ delivery application, It is possible to create a restaurant liking routine for pressing the restaurant "like" icon 1331 of the QQQ blog application.
  • the electronic device 1000 sets an event for displaying a post about a favorite food registered in advance by a user as a conditional event, and a “like” icon for the post about the favorite food You can set the pressing event as the result event.
  • the electronic device 1000 based on the condition event and the result event, when an event in which a post about a favorite food is displayed in the QQQ blog application is detected, an event of automatically pressing the “Like” icon on the post is executed. can create The electronic device 1000 may execute the generated routine to automatically press the “Like” icon on the post.
  • FIG. 14 is a diagram for describing a process of executing a routine for performing link storage in the electronic device 1000 according to an embodiment of the present disclosure.
  • the electronic device 1000 may execute the NNN application and display a post about the first material on the execution screen of the NNN application.
  • a routine (hereinafter, a save post link routine) for performing saving a post link to a post about the first material may be set.
  • the post link saving routine may include a routine for saving a link of a post about the first material when a post about the first material is displayed on the execution screen of the NNN application.
  • the electronic device 1000 may obtain sixth state information indicating a state in which a post including text information and image information about the first material is displayed.
  • the sixth state information may include sixth state tag information including a state tag related to the first material.
  • the number of times the link of the post to the first material is stored may be more than a preset number of times.
  • the electronic device 1000 may acquire, in the NNN application, an operation of storing a link of a post for the first material as a usage pattern.
  • the electronic device 1000 may detect, from among a plurality of routines, a post link saving routine having state information matching the sixth state information, based on the sixth state information and the use pattern information of the NNN application. For example, the electronic device 1000 may determine whether the sixth state tag information on the execution screen of the NNN application is similar to the state tag information of the post link saving routine.
  • the electronic device 1000 executes the post link saving routine
  • a message 1421 inquiring whether or not to do so may be displayed.
  • the message 1421 may include information indicating a matching rate between the sixth status tag information and the status tag information of the post link saving routine.
  • the match rate may be 89%.
  • the electronic device 1000 may receive an input requesting execution of a post link saving routine based on the message 1421 .
  • the electronic device 1000 may execute the post link saving routine.
  • the electronic device 1000 may automatically execute an operation 1431 of storing the link of the posting for the first material and displaying the stored result.
  • 15 is a diagram for explaining a process of executing a routine for performing link storage in the electronic device 1000, according to another embodiment of the present disclosure.
  • the electronic device 1000 may execute an OOO application and display a post about the second material on the execution screen of the OOO application.
  • OOO application a function for saving a link to a post in the application of the notepad may be provided.
  • the electronic device 1000 may acquire seventh state information indicating a state in which a post including text information and image information on the second material is displayed.
  • the seventh state information may include seventh state tag information including a state tag related to the second material.
  • the number of times the link of the post to the second material is stored may be more than a preset number of times.
  • the electronic device 1000 may acquire, as a usage pattern, an operation of storing a link of a post on the second material in the OOO application.
  • the electronic device 1000 may detect a post link saving routine of the NNN application having state information matching the seventh state information from among a plurality of routines. can For example, the electronic device 1000 may determine whether the seventh state tag information on the execution screen of the OOO application is similar to the state tag information of the post link saving routine of the NNN application. Also, the electronic device 1000 may determine whether the usage pattern information of the OOO application is similar to the usage pattern information of the NNN application.
  • the electronic device 100 displays the seventh state tag information on the execution screen of the OOO application and the state tag information of the post link saving routine of the NNN application.
  • the electronic device 1000 may display a message 1521 inquiring whether to execute the post link saving routine.
  • the message 1521 may include information indicating a matching rate between the seventh status tag information and the status tag information of the post link saving routine of the NNN application.
  • the match rate may be 79%.
  • the electronic device 1000 may receive an input requesting execution of a post link saving routine based on the message 1521 .
  • the electronic device 1000 stores the post link of the NNN application based on the state information and usage pattern information of the OOO application.
  • a routine corresponding to the following routine can be created. For example, when a post about the second material is displayed, the electronic device 1000 may generate a routine for storing the link 1531 of the post about the second material in the notepad application. The electronic device 1000 may execute the generated routine to store the link of the posting on the second material in the notepad application.
  • 16 is an electronic device for acquiring status information and executing a routine corresponding to the status information based on a result of identifying content and UI components displayed on the screen of the electronic device 1000 according to an embodiment of the present disclosure; It is a flowchart showing the operation method of (1000).
  • the electronic device 1000 may execute a first application.
  • the electronic device 1000 may identify the first content and at least one UI component displayed on the first execution screen of the first application.
  • the electronic device 1000 may acquire first state information of the first execution screen based on a result of identifying the first content and at least one UI component.
  • the electronic device 1000 may display the first content based on a property of a first UI component in which a user input is sensed among at least one UI component in the first content and the first execution screen of the first application. Relation information indicating a correlation between and the first UI component may be obtained. The electronic device 1000 may acquire first state information of the first execution screen of the first application based on the relationship information.
  • the electronic device 1000 executes a routine for performing a first task corresponding to the first status information based on the first status information and usage pattern information of applications for the user of the electronic device 1000 . can be obtained
  • the electronic device 1000 may be configured to satisfy a condition for performing a first task having status information matching the first status information among a plurality of routines preset based on usage pattern information of applications for the user.
  • a first routine may be detected.
  • the electronic device 1000 may perform a first task for performing the first task based on the first state information and the first routine. You can create 2 routines.
  • the electronic device 1000 may execute a routine.
  • 17 is a flowchart illustrating an operation method of the electronic device 1000 for storing UI components and state information, according to an embodiment of the present disclosure.
  • the electronic device 1000 may store state information between at least one content provided on each execution screen of applications and UI components related to each execution screen of applications.
  • the electronic device 1000 may detect a region in which a user input is received on an execution screen of an application.
  • the electronic device 1000 may obtain status information of the execution screen of the application based on the content provided on the execution screen of the application and the property of the UI component in which the user input is detected within the detected area. have.
  • the electronic device 1000 may store the image of the area including the UI component and the obtained state information.
  • FIG. 18 is a flowchart illustrating an operating method of the electronic device 1000 for generating a complex routine by combining routines of applications, according to an embodiment of the present disclosure.
  • the electronic device 1000 may generate a complex routine by combining the routines of the at least two applications based on the usage pattern information of the at least two or more applications for the user.
  • the electronic device 1000 may call UI components for routines of at least two or more applications.
  • the electronic device 1000 may display UI components and status tag information corresponding to the UI components.
  • the electronic device 1000 corresponds to a routine corresponding to an execution condition of a task and a result of the task based on the user's usage pattern information of at least two or more applications and status tag information corresponding to UI components.
  • a complex routine can be created by combining the following routines.

Abstract

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

Description

콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법
본 개시는 전자 장치 및 전자 장치의 동작 방법에 관한 것으로서, 전자 장치에 의해 제공되는 콘텐츠에 기초하여 루틴(routine)을 실행하는 전자 장치 및 전자 장치의 동작 방법에 관한 것이다.
최근 콘텐츠에 대한 서비스가 증가하면서, 사용자는 전자 장치를 통해 다양한 콘텐츠를 접할 수 있다. 또한, 전자 장치의 사용성이 고도화되면서, 콘텐츠와 함께 사용자에게 제공되는 사용자 인터페이스의 구성도 다양하다.
따라서, 전자 장치에 의해 제공되는 콘텐츠에 대한 정보를 식별하고, 콘텐츠에 대한 사용자의 의도에 따라 사용자 인터페이스 구성을 효율적으로 사용할 수 있는 기술이 요구된다.
본 개시의 일 실시예에 의하면, 전자 장치에 의해 제공되는 콘텐츠와 콘텐츠에 대한 사용자의 의도를 인지하고, 사용자의 의도가 반영된 루틴을 실행하는 전자 장치와 전자 장치의 동작 방법을 제공하는 것이다.
본 개시의 일 실시예에 의하면, 사용자가 자주 사용하는 애플리케이션의 동작에 대한 루틴을 생성할 수 있는 전자 장치와 전자 장치의 동작 방법을 제공하는 것이다.
본 개시의 일 실시예에 의하면, 전자 장치의 화면의 상태 정보(state information)를 획득하고, 상태 정보에 대응하는 루틴을 실행하거나 추천할 수 있는 전자 장치와 전자 장치의 동작 방법을 제공하는 것이다.
본 개시의 일측에 따르면, 전자 장치의 동작 방법이 제공된다. 전자 장치의 동작 방법은 전자 장치에서 제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 애플리케이션을 실행하고, 제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은 본 개시의 일 실시예에 따라, 애플리케이션들의 루틴을 조합하여 복합 루틴을 생성하는 전자 장치의 동작 방법을 나타내는 흐름도이다.
본 개시 전체에 걸쳐, "a, b, 또는 c 중 적어도 하나" 표현은 a만, b만, c만, a와 b 모두, a와 c 모두, b와 c 모두, a,b, 및 c 모두, 또는 그들의 변형을 나타낸다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
제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 컴포넌트는, 애플리케이션의 실행 화면에서 제공될 수 있다. 예를 들면, 이벤트(event)는, UI 컴포넌트를 통해 수신된 사용자 입력 정보(user input information)에 따라 애플리케이션에서 실행되는 동작을 포함할 수 있다. 예를 들면, 이벤트는, 애플리케이션에서 사용자가 자주 사용하는 기능 또는 메뉴의 실행으로 발생되는 이벤트를 포함할 수 있다. 예를 들면, 상태 정보는, 사용자에 대한 애플리케이션의 사용 패턴 정보(usage pattern information)에 대응하는 이벤트가 발생 가능한 상태임을 나타내는 정보를 포함할 수 있다.
예를 들면, 상태 정보는, 전자 장치에 의해 제공되는 콘텐츠와 콘텐츠에 대한 사용자에 의한 반응 전후 상황을 나타내는 정보를 포함할 수 있다. 또한, 상태 정보는, 전자 장치에 의해 제공되는 콘텐츠와 콘텐츠가 제공된 이후의 전자 장치의 후속 동작 간의 관계를 나타내는 정보를 포함할 수 있다. 여기서, 전자 장치의 후속 동작은, 전자 장치에서 UI 컴포넌트를 통해 사용자 입력 정보를 수신하는 동작, 사용자 입력 정보에 따라 애플리케이션의 기능 또는 메뉴를 실행하는 동작을 포함할 수 있다. 또한, 상태 정보는, 애플리케이션의 실행 화면에서 제공되는 콘텐츠와 사용자 입력 정보와 관련된 UI 컴포넌트 간의 상황 또는 관계를 나타내는 정보일 수 있다. 또한, 상태 정보는, 애플리케이션의 실행 화면에서 제공되는 콘텐츠에 따라 사용자 입력 정보를 수신하는 UI 컴포넌트의 속성에 기초하여 결정될 수 있다. 또한, 상태 정보는, 상태 정보를 나타내는 단어, 키워드, 문구, 문장 등을 포함하는 상태 태그 정보를 포함할 수 있다. 또한, 상태 정보는, 루틴의 실행 조건을 충족시키는 조건 이벤트의 상태 정보, 및 루틴의 실행 결과를 나타내는 결과 이벤트의 상태 정보를 포함할 수 있다.
본 개시에서, 루틴은, 태스크를 수행하기 위한 전자 장치의 동작 또는 일련의 동작들의 세트를 포함할 수 있으며, 애플리케이션의 기능 및 전자 장치의 기능들에 의해 특정될 수 있다. 또한, 루틴은, 전자 장치에서 사용자가 애플리케이션을 사용하는 사용 패턴을 나타내는 사용 패턴 정보에 기초하여 설정될 수 있다. 예를 들면, 사용자에 의해 자주 사용되는 애플리케이션, 애플리케이션에서 사용자에 의해 자주 사용되는 기능, 애플리케이션들에서 사용자에 의해 자주 연동되어 사용되는 기능 중 적어도 하나의 정보는 사용 패턴 정보로서 저장될 수 있다. 예를 들면, 하나의 항목에 대한 사용 빈도가, 미리 설정된 시간 동안 미리 설정된 임계값을 초과하면, 상술한 항목이 자주 사용된 것으로 판단될 수 있다. 루틴이 생성되고, 전자 장치에서 루틴의 실행 조건을 충족시키는 조건 이벤트에 대응하는 이벤트가 검출되면, 전자 장치는 결과 이벤트에 대응하는 이벤트를 실행할 수 있다.
본 개시에서, 태스크는, 루틴의 실행에 따라, 소정 목적을 달성하고자 하는 미션을 나타낼 수 있다. 서로 다른 애플리케이션에서, 태스크에 대한 루틴은 다를 수 있다. 즉, 서로 다른 애플리케이션에서태스크를 수행하기 위해, 각 애플리케이션에서 실행하는 세부 동작들, 세부 동작들의 순서 등이 다를 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치(1000)의 화면에 표시되는 콘텐츠 및 UI 컴포넌트를 식별한 결과에 기초하여 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행하는 전자 장치(1000)의 동작을 설명하기 위한 개념도이다.
도 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)는, 생성된 맛집 후기 공유하기 루틴(must-eat restaurant review share routine)을 실행할 수 있다. 전자 장치(1000)는, 공유하기가 가능한 애플리케이션들의 정보(121)를 표시할 수 있다.
도 1의 130을 참고하면, 전자 장치(1000)는, 공유하기가 가능한 애플리케이션들의 정보(121)에 기초하여 선택된 애플리케이션을 실행하고, 공유 대상을 선택하기 위한 화면을 표시할 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치(1000)의 구성을 도시한 블록도이다.
도 2를 참고하면, 본 개시의 일 실시예에 따른 전자 장치(1000)는 통신 인터페이스(2100), 사용자 입력 디바이스(2200), 디스플레이(2300), 프로세서(2400) 및 메모리(2500)를 포함할 수 있다.
통신 인터페이스(2100)는 외부 장치 및 서버와 통신을 수행하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신 인터페이스(2100)는, 근거리 통신부, 이동 통신부 및 방송 수신부를 포함할 수 있다. 근거리 통신부(short-range wireless communication unit)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신부는, 이동 통신망 상에서 기지국, 외부 단말, 서버 중 적어도 하나와 무선 신호(radio signal)를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다. 방송 수신부는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다.
사용자 입력 디바이스(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 컴포넌트와 상태 정보를 획득하고, 획득된 UI 컴포넌트와 상태 정보를 데이터베이스(2540)에 저장할 수 있다. 여기서, 서비스 레이어 모듈은, UI 컴포넌트 인식 모듈(2531), 상태 분석 모듈(2532), 유사성 분석 모듈(2533), 패턴 추출 모듈(2534), 패턴 추천 모듈(2535)을 포함할 수 있다. 서비스 레이어 모듈의 동작을 후술한다. 예를 들면, 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), 및 패턴 추천 모듈(2535)을 포함할 수 있고, 상기 예시에 제한되지 않는다. UI 컴포넌트 분할 모듈(2521), UI 컴포넌트 병합 모듈(2522), 루틴 실행 모듈(2523)은, 독립적으로, 서비스 레이어 모듈 내의 적어도 하나의 모듈을 이용함으로써, 할당된 기능을 수행할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 UI 컴포넌트 인식 모듈(2531)을 실행하여 애플리케이션의 실행 화면에서 선택 가능한 UI 컴포넌트를 추출할 수 있다. 예를 들어, UI 컴포넌트 인식 모듈(2531)은, 애플리케이션의 실행 화면에서 사용자의 입력 정보를 수신하거나, 사용자의 선택 정보를 수신할 수 있는 UI 컴포넌트를 추출할 수 있다. 또한, 프로세서(2400)는, UI 컴포넌트 인식 모듈(2531)을 실행함으로써, 전자 장치(1000) 내의 마이크와 같은 소리 센서를 통해 획득된 음성 신호를 음성 커맨드로 전환할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 상태 분석 모듈(2532)을 실행하여 애플리케이션의 실행 화면과 전자 장치(1000)에서 획득된 사용자 정보(user information)에 기초하여 상태 태그 정보를 생성할 수 있다. 예를 들면, 사용자 정보는, 전자 장치(1000)의 화면을 통해 입력된 사용자 입력 정보, 전자 장치(1000)의 센서에 의해 감지된 사용자 센서 정보(user sensor information), 전자 장치(1000)에 의해 감지된 사용자 음성 정보(user voice information) 등을 포함할 수 있다. 상태 분석 모듈(2532)는, 전자 장치(1000)에 의해 제공되는 콘텐츠와, 콘텐츠가 제공된 이후의 전자 장치(1000)의 후속 동작 간의 관계를 분석하고, 분석 결과에 기초하여 상태 정보를 나타내는 단어 또는 키워드를 포함하는 상태 태그 정보(state tage information)를 생성할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 유사성 분석 모듈(2533)을 실행하여 사용자 입력 정보들 간의 유사성을 판별할 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 패턴 추출 모듈(2534)을 실행하여 애플리케이션에서 사용자에 의해 사용된 기능, 항목, 메뉴 등과 같은 사용 정보(usage information)에 기초하여 사용 빈도가 높은 기능, 항목, 메뉴 중 적어도 하나를 사용 패턴(usage pattern)으로서 추출하고, 사용 패턴 정보(usage pattern information)를 생성할 수 있다. 예를 들면, 하나의 항목이 미리 설정된 시간 동안 미리 설정된 횟수 이상으로 사용되면, 상술한 항목의 사용 빈도는 높은 것으로 판단될 수 있다.
프로세서(2400)는, 메모리(2500)에 저장된 패턴 추천 모듈(2535)을 실행하여 애플리케이션의 실행 화면에서 사용자가 실행할 것으로 판단되는 사용 패턴을 예측하고, 사용 패턴을 추천할 수 있다.
프로세서(2400)는, 메모리(2500) 내의 데이터베이스(2540)에 애플리케이션의 실행 화면에서 제공되는 적어도 하나의 콘텐츠, 애플리케이션의 실행 화면과 관련된 UI 컴포넌트들의 정보, 콘텐츠와 UI 컴포넌트 간의 관계를 나타내는 정보를 저장할 수 있다.
한편, 프로세서(2400)는, 전자 장치(1000)에서 실행되는 애플리케이션에 의해 제공되는 콘텐츠와 사용자의 활동에 의해 감지된 사용자 입력 정보에 기초하여 상태 정보를 획득하고, 상태 정보에 대응하는 루틴을 실행할 수 있다.
예를 들어 프로세서(2400)는 전자 장치(1000)에서 발생되는 적어도 하나의 이벤트를 모니터링할 수 있다. 예를 들면, 이벤트는, 전자 장치(1000)에서 실행되는 애플리케이션의 동작, 또는 전자 장치(1000)에서 실행되는 애플리케이션과 관련하여 전자 장치에 의해 감지된 사용자 동작(user operation)을 포함할 수 있다. 프로세서(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 콘텐츠가 제공된 이후의 전자 장치(1000)의 후속 동작 간의 관계를 확인하고, 확인 결과에 기초하여 제1 애플리케이션의 제1 실행 화면의 제1 상태 정보를 획득할 수 있다.
예를 들면, 제1 애플리케이션의 제1 실행 화면은, 제1 애플리케이션의 동작에 따라 디스플레이(2300)에서 표시되는 화면을 포함할 수 있다. 제1 애플리케이션의 제1 실행 화면은, 실행 화면 내에서 사용자에 의해 선택되는 정보에 따라서 변경될 수 있다.
예를 들면, 전자 장치(1000)의 후속 동작은, 제1 콘텐츠가 제공된 이후에 전자 장치(1000)에서 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)는 애플리케이션의 동작을 모니터링 한 결과에 기초하여, 사용자에 대한 애플리케이션 사용 패턴 정보(application usage pattern information)를 획득할 수 있다. 예를 들면, 사용자에 대한 애플리케이션 사용 패턴 정보는, 애플리케이션에서 사용자가 자주 사용하는 기능, 메뉴 등의 사용 패턴, 또는, 애플리케이션에서 다른 애플리케이션과 자주 연동하여 사용하는 기능의 사용 패턴을 나타내는 정보를 포함할 수 있다. 전자 장치(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)는 루틴의 실행 결과를 나타내는 결과 이벤트를 실행할 수 있다.
도 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 항공 애플리케이션의 실행 화면에서 체크인 정보를 입력하는 입력 필드(input field)가 제공될 수 있다. 체크인 정보를 입력하는 입력 필드에는, 승객의 성 입력 필드(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 항공 애플리케이션의 이름 채우기 루틴에 기초하여, 예약자 명 입력 필드(1131)에 예약자 명을 채우기 위한 예약자 명 채우기 루틴을 생성할 수 있다.
예를 들면, 전자 장치(1000)는, ABC 교육 애플리케이션에서 교육 참가 신성서의 작성을 요청하는 이벤트를 조건 이벤트로 설정하고, 교육 참가 신청서에서 예약자 명을 채우는 이벤트를 결과 이벤트로 설정할 수 있다. 전자 장치(1000)는 조건 이벤트 및 결과 이벤트에 기초하여, ABC 교육 애플리케이션에서 교육 참가 신성서의 작성을 요청하는 이벤트가 검출되면, 예약자 명을 자동으로 작성하는 이벤트가 실행되는 루틴을 생성할 수 있다.
도 12는 본 개시의 일실시예에 따라, 전자 장치(1000)에서 "맛집 좋아요" 누르기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 12의 1210을 참고하면, 전자 장치(1000)는 ZZZ 배달 애플리케이션을 실행하고, ZZZ 배달 애플리케이션의 실행 화면에서 우동 맛집을 포함하는 이미지를 표시할 수 있다. ZZZ 배달 애플리케이션의 실행 화면에는, "좋아요" 아이콘(1211)이 포함될 수 있다. ZZZ 배달 애플리케이션에 대해서, 맛집에서 사용자가 좋아하는 음식에 "좋아요" 아이콘(1211)를 누르기 위한 루틴(이하, 맛집 좋아요 루틴으로 언급함)이 설정되어 있을 수 있다. 맛집 좋아요 루틴은, ZZZ 배달 애플리케이션의 실행 화면에서, 맛집으로 인식할 수 있는 정보가 표시되고, 사용자가 좋아하는 음식으로 미리 등록된 음식이 표시되면, "좋아요" 아이콘(1211)을 누르는 루틴을 포함할 수 있다.
전자 장치(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 블로그 애플리케이션의 맛집 "좋아요" 아이콘(1331)를 누르기 위한 맛집 좋아요 루틴을 생성할 수 있다.
예를 들면, 전자 장치(1000)는, QQQ 블로그 애플리케이션에서 사용자에 의해 미리 등록된 좋아하는 음식에 대한 게시글을 표시하는 이벤트를 조건 이벤트로 설정하고, 좋아하는 음식에 대한 게시글에 대해 "좋아요" 아이콘을 누르는 이벤트를 결과 이벤트로 설정할 수 있다. 전자 장치(1000)는, 조건 이벤트 및 결과 이벤트에 기초하여, QQQ 블로그 애플리케이션에서 좋아하는 음식에 대한 게시글이 표시되는 이벤트가 검출되면, 게시글에 자동으로 "좋아요" 아이콘을 누르는 이벤트가 실행되는 루틴을 생성할 수 있다. 전자 장치(1000)는, 생성된 루틴을 실행하여, 게시글에 자동으로 "좋아요" 아이콘을 누르는 동작을 수행할 수 있다.
도 14는 본 개시의 일실시예에 따라, 전자 장치(1000)에서 링크 저장하기를 수행하기 위한 루틴을 실행하는 과정을 설명하기 위한 도면이다.
도 14의 1410을 참고하면, 전자 장치(1000)는 NNN 애플리케이션을 실행하고, NNN 애플리케이션의 실행 화면에서 제1 소재에 대한 게시글을 표시할 수 있다. 또한, NNN 애플리케이션에 대해서, 제1 소재에 대한 게시글에 대해 글 링크 저장하기를 수행하기 위한 루틴(이하, 글 링크 저장하기 루틴(save post link routine))이 설정되어 있을 수 있다. 글 링크 저장하기 루틴은, 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 소재가 동일한 분야에 관한 소재이면, 전자 장치(100)는 OOO 애플리케이션의 실행 화면에서 제7 상태 태그 정보와 NNN 애플리케이션의 글 링크 저장하기 루틴의 상태 태그 정보는 유사하다고 판단할 수 있다. 도 15의 1520에 도시된 바와 같이, 전자 장치(1000)는, 글 링크 저장하기 루틴을 실행할 것인지 문의하는 메시지(1521)를 표시할 수 있다. 예를 들면, 메시지(1521)에는, 제7 상태 태그 정보와 NNN 애플리케이션의 글 링크 저장하기 루틴의 상태 태그 정보 간의 일치율을 나타내는 정보가 포함될 수 있다. 예를 들면, 일치율은 79%일 수 있다. 전자 장치(1000)는, 메시지(1521)에 기초하여, 글 링크 저장하기 루틴의 실행을 요청하는 입력을 수신할 수 있다.
도 15의 1530을 참고하면, 글 링크 저장하기 루틴의 실행을 요청하는 입력이 수신됨에 따라, 전자 장치(1000)는, OOO 애플리케이션의 상태 정보 및 사용 패턴 정보에 기초하여, NNN 애플리케이션의 글 링크 저장하기 루틴과 대응하는 루틴을 생성할 수 있다. 예를 들면, 전자 장치(1000)는, 제2 소재에 대한 게시글이 표시되면, 제2 소재에 대한 게시글의 링크(1531)를 메모장의 애플리케이션에 저장하는 루틴을 생성할 수 있다. 전자 장치(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 컴포넌트들에 대응하는 상태 태그 정보에 기초하여, 태스크의 실행 조건에 대응하는 루틴과 태스크의 결과에 대응하는 루틴을 조합함으로써, 복합 루틴을 생성할 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시는 다양한 실시예를 참조하여 도시되고 설명되었지만, 첨부된 청구항 및 그 균등물에 의해 정의된 바와 같이 본 개시의 사상(spirit) 및 범위(scope)를 벗어나지 않으면서 형태 및 상세한 설명이 다양하게 변경될 수 있다는 것이 당업자에 의해 이해될 수 있다.

Claims (15)

  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 태스크의 수행 조건을 충족시키는 상기 제 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 태스크를 수행하는 단계를 포함하는, 전자 장치의 동작 방법.
  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 태스크의 수행 조건으로 충족시키는 제1 상태 정보에 매칭되는 상태 정보를 갖고,
    상기 검출된 제1 루틴이 상기 제1 애플리케이션과 다른 제2 애플리케이션에서 실행되는 루틴이면, 상기 제1 상태 정보 및 상기 제1 루틴에 기초하여, 상기 제1 태스크를 실행하기 위한 제2 루틴을 생성하는, 전자 장치.
PCT/KR2022/003716 2021-03-22 2022-03-17 콘텐츠에 기초하여 루틴을 실행하는 전자 장치 및 전자 장치의 동작 방법 WO2022203277A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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 (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/698,489 Continuation US11893399B2 (en) 2021-03-22 2022-03-18 Electronic device for executing routine based on content and operating method of the electronic device

Publications (1)

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

Family

ID=83397589

Family Applications (1)

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

Country Status (2)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050025220A (ko) * 2003-09-05 2005-03-14 삼성전자주식회사 사전 행동적 사용자 인터페이스
KR100680191B1 (ko) * 2003-09-05 2007-02-08 삼성전자주식회사 감정 있는 에이전트를 갖는 사전 행동적 사용자 인터페이스 시스템
KR101927706B1 (ko) * 2016-08-03 2018-12-11 주식회사 버즈뮤직코리아 상황별 음악 추천 방법 및 이를 이용하는 장치
KR20180135221A (ko) * 2017-06-12 2018-12-20 십일번가 주식회사 원 클릭 구매 방법 및 이를 위한 장치
KR20200040927A (ko) * 2015-05-27 2020-04-20 애플 인크. 터치 감응형 디바이스 상의 관련 콘텐츠를 사전행동적으로 식별 및 표면화하기 위한 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050025220A (ko) * 2003-09-05 2005-03-14 삼성전자주식회사 사전 행동적 사용자 인터페이스
KR100680191B1 (ko) * 2003-09-05 2007-02-08 삼성전자주식회사 감정 있는 에이전트를 갖는 사전 행동적 사용자 인터페이스 시스템
KR20200040927A (ko) * 2015-05-27 2020-04-20 애플 인크. 터치 감응형 디바이스 상의 관련 콘텐츠를 사전행동적으로 식별 및 표면화하기 위한 시스템 및 방법
KR101927706B1 (ko) * 2016-08-03 2018-12-11 주식회사 버즈뮤직코리아 상황별 음악 추천 방법 및 이를 이용하는 장치
KR20180135221A (ko) * 2017-06-12 2018-12-20 십일번가 주식회사 원 클릭 구매 방법 및 이를 위한 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2020045927A1 (en) Electronic device and method for generating short cut of quick command
WO2014092451A1 (en) Information search method and device and computer readable recording medium thereof
WO2015072670A1 (en) System and method of sharing profile image card for communication
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2017043857A1 (ko) 어플리케이션 제공 방법 및 이를 위한 전자 기기
WO2014025186A1 (en) Method for providing message function and electronic device thereof
WO2019031707A1 (en) MOBILE TERMINAL AND METHOD FOR CONTROLLING A MOBILE TERMINAL USING MACHINE APPRENTICESHIP
WO2018026059A1 (ko) 이동 단말기 및 그 제어방법
WO2017209564A1 (ko) 앱 리스트 제공 방법 및 그 장치
WO2014157886A1 (en) Method and device for executing application
WO2014025185A1 (en) Method and system for tagging information about image, apparatus and computer-readable recording medium thereof
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2015016622A1 (en) Method and electronic device for sharing image card
WO2017039341A1 (en) Display apparatus and control method thereof
WO2014035209A1 (en) Method and apparatus for providing intelligent service using inputted character in a user device
WO2018088809A1 (en) Method of displaying user interface related to user authentication and electronic device for implementing same
WO2014046424A1 (en) Information transmission method and system, and device
WO2013012112A1 (ko) 쿠폰 검색을 수행하는 전자 기기 및 소셜 커머스 서버
WO2018124842A1 (ko) 컨텐트에 관한 정보를 제공하는 방법 및 디바이스
WO2015147486A1 (en) Method of providing activity notification and device thereof
WO2021261836A1 (en) Image detection apparatus and operation method thereof
WO2013077487A1 (en) Electronic device and method of operating the same
WO2019240562A1 (en) Electronic device and operating method thereof for outputting response to user input, by using application
WO2014042474A2 (en) Method and system for executing application, and device and recording medium thereof
WO2018093138A1 (en) Electronic apparatus and method of operating the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22775979

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22775979

Country of ref document: EP

Kind code of ref document: A1